【发布时间】:2019-09-27 15:42:32
【问题描述】:
有没有办法像 selenium 网格一样在 appium 中运行并行测试? appium中如何设置不同的节点?
【问题讨论】:
标签: selenium parallel-processing appium
有没有办法像 selenium 网格一样在 appium 中运行并行测试? appium中如何设置不同的节点?
【问题讨论】:
标签: selenium parallel-processing appium
问题在于,appium 只使用 iosSimulator 或 Genymotion VM,并没有真正设计为在这样的一台机器上并行运行。但是,您可以设置多个运行自己的 appium 实例的虚拟机(我觉得这会很慢,但理论上是一种选择),或者使用 BrowserStack、Sauce Labs 或类似的东西来一次运行多个测试.
【讨论】:
是的,我们可以像 Selenium 一样使用 GRID 概念实现并行执行。
你需要通过在你的json文件中放置以下内容来启动节点
{ "capabilities":
[
{ "browserName": "<e.g._iPhone5_or_iPad4>",
"version":"<version_of_iOS_e.g._7.1>",
"maxInstances": 1,
"platform":"<platform_e.g._MAC_or_ANDROID>"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://<host_name_appium_server_or_ip-address_appium_server>:<appium_port>/wd/hub",
"host": <host_name_appium_server_or_ip-address_appium_server>,
"port": <appium_port>,
"maxSession": 1,
"register": true,
"registerCycle": 5000,
"hubPort": <grid_port>,
"hubHost": "<Grid_host_name_or_grid_ip-address>"
} }
看这篇帖子http://qaautomationworld.blogspot.in/2014/11/appium-remote-execution-grid-execution.html
【讨论】:
我们可以使用 TestNg 来实现,也可以使用多线程来实现。
在 selenium Grid 中需要运行一个 Hub 和不同的节点,但在这种情况下,您在不同的 2 端口运行多个 Appium 服务器
【讨论】:
以下命令可用于启动多个 Appium 服务器
appium -p 10000 # server 1
appium -p 10001 # server 2
【讨论】:
你可以参考这个parallel test with appium & selenium grid
至于在 Grid 中运行 Appium 的步骤如下
Step1: add the Appium in Environment Vairable
Step2: Run the Grid for Hub
Step3: Run the Appium through command prompt using the selective commands
Step4: Run you java code through Maven command 'mvn'
【讨论】:
为了通过 Appium 实现并行测试,我使用了 Selenium Grid 和 TestNG 以及 Appium。
步骤:
确保已连接具有匹配功能的设备/模拟器。
【讨论】: