2017-02-07 13 views
1

Как передать желаемые возможности для запуска моих сценариев на настольных и мобильных браузерах, планшетах и ​​мобильных устройствах в разных операционных системах?Как передать желаемые возможности на уровне командной строки pybot

Я хотел бы использовать то же, что и команда Shell на шаге Jenkins Build. Он должен работать как на окнах, так и на серверах Linux как на хосте Jenkins.

ответ

3

Мой совет - определить возможности как переменную, которую вы можете использовать в своих тестовых сценариях, и поместить эти определения в argument file. Поместив их в файл аргументов, вы гарантированно, что каждый использует одинаковые возможности последовательно.

Например, создайте файл с именем «android.args» и поставить что-то вроде этого в нем:

--variable desired_capabilities:platformName:Android,platformVersion:5.0 
--variable remote_url:http://localhost:1234 

Вы можете создать еще один файл с именем «desktop.ie.args», что могло бы понравиться это:

--variable desired_capabilities:platformName:Windows,platformVersion:10.0 
--variable remote_url:http://localhost:1235 

... и так далее для каждой конфигурации. Затем вы будете ссылаться на эти возможности в своих тестах с помощью ${desired_capabilities}. Например:

[Suite Setup] open browser 
    ... http://www.example.com 
    ... remote_url=${remote_url} 
    ... desired_capabilities=${desired_capabilities} 

Вы можете запускать тесты на различных платформах, как это:

robot -A android.args my_test_suite 
robot -A desktop.ie.args my_test_suite 
... 

Даже лучше, вы можете создать свою собственную оболочку вокруг робота, так что вы можете сделать что-то еще проще, например как:

mybot android my_test_suite 

где «mybot» принимает первый аргумент, ищет файл с таким именем и «.args» суффикс в известном месте, и автоматически добавляет аргументы «-A/путь/к/андроида .ar gs "при запуске фактической команды робота.

+0

Спасибо @Bryan за ваш ценный совет, как всегда. Очень полезно. Конечно, я организую свои тесты для использования файлов аргументов, как описано выше. –

1
pybot -v desired_capabilities:"deviceName:Android Emulator,platformName:Android,platformVersion:5.1,deviceOrientation:portrait,browserName:Browser,appiumVersion:1.5.3,deviceType:phone" -i mobile workspace\my_tests 

Примечание: Вы можете также параметризацию значения с $ {БРАУЗЕР} и передать значения в него из сценария или из переменной файла питона.