Возможно ли попытаться запустить тестовый пример Robot Framework для приложения Windows с Appium Server?

Я использую Robot Framework с RIDE IDE. У меня запущен сеанс Appium Server. В качестве первой попытки я хочу написать тестовый пример Robot Framework, чтобы открыть экземпляр блокнота Windows. Во-первых, возможно ли это вообще, или я заблуждаюсь?

Аппиум

Ниже приведены используемые настройки:

Удаленный хост: 127.0.0.1

Удаленный порт: 4723

Удаленный путь: /

SSL: отключен

Желаемые возможности представлены следующим образом JSON:

{
    "app": "C:\\Windows\\system32\\notepad.exe"
}

WinAppDriver

Он работает на порту 4723.

RIDE IDE

Выполняется следующий тестовый пример:

*** Settings ***
Library           AppiumLibrary

*** Test Cases ***
TC0
    Open Application    http://localhost:4723/wd/hub    app=C:\Windows\System32\notepad.exe

Это дает следующую ошибку:

[ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: No application is open

Что могло быть причиной этого?

Изменить: Дополнительная информация - при выполнении вышеуказанного тестового примера в консоли WinAppDriver появляется следующее: введите описание изображения здесь


person Al2110    schedule 15.09.2020    source источник


Ответы (2)


По умолчанию AppiumLibrary будет запускаться Capture Page Screenshot в случае сбоя.
Документация по AppiumLibrary

Скорее всего, последовательность следующая.

  1. Тестовый пример: попробуйте открыть блокнот, но не удалось.
    Open Application http://localhost:4723/wd/hub app=C:\Windows\System32\notepad.exe

  2. При этой ошибке AppiumLibrary попробуйте Capture Page Screenshot, но не удалось из-за отсутствия открытого приложения с момента сбоя шага 1.

Я считаю, что вам нужно сосредоточиться на устранении неполадок, по которым приложение не открывается должным образом.

Если вы хотите подавить этот сбой, вы можете настроить AppiumLibrary так, чтобы он не снимал экран при сбое при импорте с помощью run_on_failure=No Operation, см. Связанную документацию выше.

Library AppiumLibrary run_on_failure=No Operation

person akane    schedule 15.09.2020
comment
Поигравшись, кажется, что проблема заключалась в том, что мне нужна была возможность platformName, значение которой должно быть установлено на Windows. Кроме того, вместо создания нового сеанса Appium я просто запустил сервер Appium. - person Al2110; 15.09.2020

Немного не связано, но я просто хотел дать несколько советов по использованию winappdriver и robotframework, поскольку там не так много краткой информации.

  1. Я лично обнаружил, что запуск winappdriver через appium был медленнее, чем запуск автономного winappdriver.
  2. localhost также работает медленнее, чем 127.0.0.1, поскольку ваша система каждый раз должна разрешать этот адрес: https://github.com/microsoft/WinAppDriver/issues/1269
  3. AppiumLibrary по-прежнему очень адаптирована к мобильной автоматизации, поэтому в ней отсутствуют некоторые обычные вещи, которые вы хотели бы иметь в автоматизации рабочего стола, такие как «перетаскивание», «указание мыши над элементом», ключевые слова для управления настройкой / удалением драйвера и т. Д. DesktopLibrary RobotFramework-Zoomba расширяет AppiumLibrary и добавляет много этих ключевых слов, если вы хотите чтобы попробовать это. Документы по ключевым словам можно найти здесь: https://accruent.github.io/robotframework-zoomba/DesktopLibraryDocumentation.html
person Brandon Wolfe    schedule 18.09.2020