Robot Framework - Файл, работающий на разных устройствах - PullRequest
0 голосов
/ 14 сентября 2018

Это продолжение моего предыдущего вопроса - [ RobotFramework - запуск тестов в разных средах

Я создал файл для каждой из сред, все это работает, сейчас я просто использую свой локальный планшет для тестирования, мне нужно указать 10 разных устройств с разными настройками, есть ли способ сохранить конфигурация динамически в файле аргументов? Как получить конфигурацию с помощью робота, сохранить ее в переменной и использовать это значение в файле аргументов?

Что-то вроде

//HERE sample code the get the androidVersion  =  ${Get_Android_Version}

.args file

--variable REMOTE_URL_ANDROID:http://127.0.0.1:4723/wd/hub
--variable PLATFORM_NAME_ANDROID:Android
--variable PLATFORM_VERSION_ANDROID:${Get_Android_Version}
--variable DEVICE_NAME_ANDROID:Samsung
--variable AUTOMATION_Name_ANDROID:appium
--variable PACKAGE_NAME_ANDROID:DiffrentPackage
--variable ACTIVITY_NAME_ANDROID:PackageName

Ps. Я знаю, что это не настоящий код робота, это просто пример того, что я имею в виду.

1 Ответ

0 голосов
/ 14 сентября 2018

Вы не можете иметь никакой логики программирования в файле аргументов. Вместо (или в дополнение к) использования файла аргументов для этого вы можете рассмотреть переменный файл . Файлы переменных представляют собой код Python, поэтому вы можете использовать любую логику, необходимую для установки переменных.

Например, вы можете передать имя среды из командной строки и использовать его в своем тесте для импорта переменных для этой среды.

Пример

test.robot:

*** Settings ***
Variables  ${ENVIRONMENT}_vars.py
...

smoke_vars.py:

def get_platform_version(platform):
    <your logic here>
    return $version

PLATFORM_NAME = "Android"
PLATFORM_VERSION = get_platform_version(PLATFORM_NAME)

командная строка:

robot --variable environment:smoke test.robot

Вы также можете указать файл переменной в командной строке, а не в тестовом файле. Например, вы можете удалить параметр Variables, а затем сделать это в командной строке:

robot --variablefile smoke_vars.py ...

Все это очень подробно задокументировано в руководстве пользователя для каркаса робота

...