如何在各种操作系统上传递所需功能以在桌面和移动浏览器,平板电脑和移动设备上运行我的脚本?
我想在Jenkins Build步骤中使用与Shell命令相同的命令。它应该像Jenkins主机一样在Windows或Linux服务器上运行。
答案 0 :(得分: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 /path/to/android.args"在运行实际的机器人命令时。
答案 1 :(得分: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
注意:您还可以使用$ {BROWSER}参数化值,并从脚本或python变量文件中将值传递给它。