Selenium 应用程序-并行执行(网格)
有没有办法像selenium网格一样在appium中运行并行测试?Selenium 应用程序-并行执行(网格),selenium,parallel-processing,appium,Selenium,Parallel Processing,Appium,有没有办法像selenium网格一样在appium中运行并行测试? 如何在appium中设置不同的节点?使用TestNg可以做到这一点,也可以使用多线程实现 在selenium网格中,需要运行一个集线器和不同的节点,但在这种情况下,您可以在不同的-2端口中运行多个Appium服务器这可以使用TestNg实现,也可以使用多线程实现 在selenium Grid中,需要运行一个集线器和不同的节点,但在本例中,您在不同的2端口运行多个Appium服务器,问题在于Appium仅使用iosSimulato
如何在appium中设置不同的节点?使用TestNg可以做到这一点,也可以使用多线程实现
在selenium网格中,需要运行一个集线器和不同的节点,但在这种情况下,您可以在不同的-2端口中运行多个Appium服务器这可以使用TestNg实现,也可以使用多线程实现
在selenium Grid中,需要运行一个集线器和不同的节点,但在本例中,您在不同的2端口运行多个Appium服务器,问题在于Appium仅使用iosSimulator或Genymotion VM,而不是真正设计为在一台机器上并行运行。但是,您可以使用自己的appium运行实例设置多个VM(我觉得这会很慢,但理论上是一个选项),或者使用BrowserStack、Sauce Labs或类似的工具,以便同时运行多个测试。问题是appium只使用iosSimulator或Genymotion VM,并不是设计用来在一台机器上并行运行的。但是,您可以使用自己的appium运行实例设置多个VM(我觉得这会很慢,但理论上是一个选项),或者使用BrowserStack、Sauce Labs或类似的工具一次运行多个测试。是的,我们可以像使用网格概念的Selenium一样实现并行执行 您需要通过在ur 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>"
} }
{“能力”:
[
{“浏览器名称”:“”,
“版本”:“,
“最大实例”:1,
“平台”:”
}
],
“配置”:
{
“清洁周期”:2000年,
“超时”:30000,
“代理”:“org.openqa.grid.selenium.proxy.DefaultRemoteProxy”,
“url”:“http://:是的,我们可以像使用网格概念的Selenium一样实现并行执行
您需要通过在ur 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>"
} }
{“能力”:
[
{“浏览器名称”:“”,
“版本”:“,
“最大实例”:1,
“平台”:”
}
],
“配置”:
{
“清洁周期”:2000年,
“超时”:30000,
“代理”:“org.openqa.grid.selenium.proxy.DefaultRemoteProxy”,
“url”:“http://:您可以参考此
至于在网格中运行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,请按照以下步骤操作
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网格和TestNG以及Appium
步骤:
启动Selenium服务器。(这将是Selenium网格的中心)
在默认端口上启动Appium服务器(这将是Appium网格配置的中心)
现在,在不同的端口上,使用TestNG.xml/Properties文件中定义的匹配功能初始化节点(Node1、Node2)。(两个节点配置必须在单独的json.cfg文件中定义)
在testNG.xml中添加一个参数parallel=“tests”
确保连接了具有匹配功能的设备/模拟器。为了通过Appium实现并行测试,我使用了Selenium Grid和TestNG以及Appium
步骤:
启动Selenium服务器。(这将是Selenium网格的中心)
在默认端口上启动Appium服务器(这将是Appium网格配置的中心)
现在,在不同的端口上,使用TestNG.xml/Properties文件中定义的匹配功能初始化节点(Node1、Node2)。(两个节点配置必须在单独的json.cfg文件中定义)
在testNG.xml中添加一个参数parallel=“tests”
确保连接了具有匹配功能的设备/模拟器。以下命令可用于启动多个Appium服务器
appium -p 10000 # server 1
appium -p 10001 # server 2
以下命令可用于启动多个Appium服务器
appium -p 10000 # server 1
appium -p 10001 # server 2
这是我在上一家公司使用的方法…使用在不同端口上运行的多个Appium服务器,并将其与SeleniumGrid结合。这在Android上是可能的(使用Linux或类似Unix的机器运行Appium服务器).但仍然无法使用iOS,因为iOS在使用真实设备或模拟器运行自动化测试时只使用一个实例工具。这是我在上一家公司使用的方法…使用在不同端口上运行的多个Appium服务器,并将其与SeleniumGrid相结合。这在Android上是可能的(使用运行appium服务器的Linux或类似Unix的机器)。但仍然无法使用iOS,因为在使用真实设备或模拟器运行自动化测试时,iOS仅使用一个实例工具。我将Appium与Genymotion一起使用,并并行运行两个模拟器。设置非常简单,而且运行多个虚拟机不应影响Appium功能,可能会减慢系统速度。此外,我还将与Genymotion相比,浏览器堆栈速度非常慢。我将Appium与Genymotion一起使用,并并行运行两个模拟器。设置非常简单,而且运行多个VM不会影响Appium功能,可能会降低系统速度。此外,sauce labs和浏览器堆栈与Genymotion相比速度非常慢。您使用junit还是junittestng或cucumber并行执行测试?您是否使用junit或testng或cucumber并行执行测试?