cisco-open-source/qtwebdriver

prebuilt qt5 app accessibility problem

mbande opened this issue · 2 comments

I've got a qt5 qwidget based application and i want to test it with python.
after running WebDriver_noWebkit and my app, i run this code:

from selenium import webdriver
CAPS = {
    "browserName": "qtwebkit",
    "browserStartWindow": "My App Window Title",
    "version": "",
    "platform": "ANY",
    "javascriptEnabled": False,
    "loggingPref": {
        "driver":"ALL",
    }
}

driver = webdriver.Remote(
    desired_capabilities=CAPS,
    command_executor='http://localhost:9517'
)

web driver prints this log:

WebDriver_noWebkit
[SEVR]: Root './web' does not exist!
[WARN]: Searching window - My App Window Title - not found.
Problem creating accessible interface for:  QQuickView(0x265ed20) 
Make sure to deploy Qt with accessibility plugins.

a searched for this with no result, any ideas?

WD will look for a top level Qwidget such that:
qwidget->windowTitle().toStdString()="My App Window Title"
or
qwindow->title().toStdString()="My App Window Title"

But for this to work WD must run in the same process as your application, if you just run WebDriver_noWebkit out of the box, it is not the case.

For it to work, add code to start WD from the main your application.
Details how to proceed here: https://github.com/cisco-open-source/qtwebdriver/wiki/Build-And-Run#to-build-and-run-your-own-binary

Feel free to provide feedback, if you think the instructions can be improved

Previous answser should fix this. Let me know if other issues.