Appium - 并行执行(网格)
Appium - Parallel Execution (Grid)
有什么方法可以像 selenium 网格一样在 appium 中进行 运行 并行测试吗?
我们如何在appium中设置不同的节点?[=10=]
我们可以使用 TestNg 来实现,也可以使用多线程来实现。
IN selenium Grid 需要 运行 一个集线器和不同的节点,但在这种情况下,您 运行 在不同的 2 端口
多个 Appium 服务器
问题是 appium 仅使用 iosSimulator 或 Genymotion VM,并不是真正设计为 运行 在一台机器上并行。但是,您可以使用自己的 appium 运行ning 实例设置多个虚拟机(我觉得这会很慢,但理论上是一种选择),或者使用 BrowserStack、Sauce Labs 或类似的东西来运行 一次进行多项测试。
是的,我们可以使用GRID概念实现像Selenium一样的并行执行。
您需要通过将以下内容放入您的 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>"
} }
看看这个posthttp://qaautomationworld.blogspot.in/2014/11/appium-remote-execution-grid-execution.html
你可以参考这个parallel test with appium & selenium grid
至于 运行 Appium in Grid 遵循以下步骤
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。
步骤:
- 启动硒服务器。 (这将是 Selenium Grid 的中心)
- 在默认端口上启动 Appium 服务器(这将是 appium 网格配置的集线器)
- 现在在不同的端口上,使用 TestNG.xml/Properties 文件中定义的匹配功能初始化节点(Node1、Node2)。 (两个节点配置都必须在单独的 json.cfg 文件中定义)
- 在testNG.xml中添加一个参数作为parallel="tests".
确保已连接具有匹配功能的device/emulators。
以下命令可用于启动多个 Appium 服务器
appium -p 10000 # server 1
appium -p 10001 # server 2
有什么方法可以像 selenium 网格一样在 appium 中进行 运行 并行测试吗? 我们如何在appium中设置不同的节点?[=10=]
我们可以使用 TestNg 来实现,也可以使用多线程来实现。
IN selenium Grid 需要 运行 一个集线器和不同的节点,但在这种情况下,您 运行 在不同的 2 端口
多个 Appium 服务器问题是 appium 仅使用 iosSimulator 或 Genymotion VM,并不是真正设计为 运行 在一台机器上并行。但是,您可以使用自己的 appium 运行ning 实例设置多个虚拟机(我觉得这会很慢,但理论上是一种选择),或者使用 BrowserStack、Sauce Labs 或类似的东西来运行 一次进行多项测试。
是的,我们可以使用GRID概念实现像Selenium一样的并行执行。
您需要通过将以下内容放入您的 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>"
} }
看看这个posthttp://qaautomationworld.blogspot.in/2014/11/appium-remote-execution-grid-execution.html
你可以参考这个parallel test with appium & selenium grid
至于 运行 Appium in Grid 遵循以下步骤
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。
步骤:
- 启动硒服务器。 (这将是 Selenium Grid 的中心)
- 在默认端口上启动 Appium 服务器(这将是 appium 网格配置的集线器)
- 现在在不同的端口上,使用 TestNG.xml/Properties 文件中定义的匹配功能初始化节点(Node1、Node2)。 (两个节点配置都必须在单独的 json.cfg 文件中定义)
- 在testNG.xml中添加一个参数作为parallel="tests".
确保已连接具有匹配功能的device/emulators。
以下命令可用于启动多个 Appium 服务器
appium -p 10000 # server 1
appium -p 10001 # server 2