Как найти открытое окно приложения с помощью appium и python с исключением AppID и ProcessId?

#python #selenium #appium

Вопрос:

Я использую appium и selenium для тестирования своего приложения для Windows, используя python, и у меня проблема. Когда я запускаю свой код, он запускает приложение, но для открытия окна требуется много времени. В то же время он выдает ошибку:

 selenium.common.exceptions.WebDriverException: Message: Failed to locate opened application window with appId: C:Program Files (x86)ProgramProgram.exe, and processId: xxxx
 

…и тест провалился. После неудачного теста появится окно приложения.

Мой код:

     def launcherHandler(self):
        desired_caps = {}
        desired_caps["app"] = Data.path
        desired_caps["appArguments"] = Data.params
        launcherDriver = webdriver.Remote(
            command_executor='http://127.0.0.1:4723',
            desired_capabilities=desired_caps)
        WebDriverWait(launcherDriver, 500).until(EC.element_to_be_clickable((By.NAME, 'Application')))
        launcherrWindow = launcherDriver.find_element_by_name("Application")
        launcherTopLevelWindowHandle = launcherrWindow.get_attribute("NativeWindowHandle")
        launcherTopLevelWindowHandle = hex(int(launcherTopLevelWindowHandle))
        launcherDriver.switch_to.window(launcherTopLevelWindowHandle)
        return launcherDriver
 

У вас есть какие-нибудь идеи, как это исправить?

Также я нашел такое решение в Google, но я думаю, что оно уже есть в моих желаемых шапках:

 appCapabilities.SetCapability(“appWorkingDir”, “C:Program Files...”);
 

Если нет, я не знаю, как реализовать это на python, в моем коде.
Не могли бы вы помочь мне с этим?