Appium - 并行执行(网格)

时间:2015-05-29 09:49:17

标签: selenium parallel-processing appium

有没有办法在appium中运行并行测试,就像selenium grid一样? 我们如何在appium中设置不同的节点?

6 个答案:

答案 0 :(得分:2)

问题在于,appium专门使用iosSimulator或Genymotion VM,而且并非真正设计为在这样的一台机器上并行运行。但是,您可以设置多个具有自己的appium实例的VM(我觉得这会很慢,但理论上是一个选项),或者使用BrowserStack,Sauce Labs或类似的东西,以便一次运行多个测试

答案 1 :(得分:2)

是的,我们可以像使用GRID概念的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>"
     } }

查看这篇文章http://qaautomationworld.blogspot.in/2014/11/appium-remote-execution-grid-execution.html

答案 2 :(得分:1)

我们可以使用TestNg也可以使用多线程实现。

IN selenium Grid需要运行一个Hub和不同节点,但在这种情况下,你在不同的2端口运行多个Appium服务器

答案 3 :(得分:0)

您可以参考此parallel test with appium & selenium 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'

答案 4 :(得分:0)

为了通过Appium实现并行测试,我使用了Selenium Grid和TestNG以及Appium。

步骤:

  1. 启动Selenium Server。 (这将是Selenium Grid的中心)
  2. 在默认端口启动Appium Server(这将是appium网格配置的集线器)
  3. 现在,在不同的端口上,使用TestNG.xml / Properties文件中定义的匹配功能初始化节点(Node1,Node2)。 (两个节点配置必须在单独的json.cfg文件中定义)
  4. 在testNG.xml中添加一个参数parallel =&#34; tests&#34;。
  5. 确保已连接具有匹配功能的设备/模拟器。

答案 5 :(得分:0)

以下命令可用于启动多个Appium服务器

appium -p 10000 # server 1
appium -p 10001 # server 2