appium多机并行测试

发表于:2018-7-02 15:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:每天1990    来源:博客园

  在实际应用中需要对多个机型并行测试,节省时间
  多机测试的思路
  启动多个appium server与多台机器交互(android和ios均可)
  注意:一定要使用node安装appium的命令行,使用appium命令启动多个服务
  启动命令时指定server端口号,以及与客户端交互的各项端口号
  以下命令都是后台启动的,使用的mac的后台启动方式[ nohup 命令 &],如果是windows机使用[start /b 命令]
  Android多机的server启动命令
  startservercmd = "nohup appium  --session-override -a " + address + " -p " +Appium_port +" -bp "+bootstrap_port
  +" --selendroid-port "+selendroid_port+" --chromedriver-port " +chromedriver_port+" -U "+deviceid+" "+" --no-reset &"
  各项说明:
  address:启动server的地址,如果不指定为0.0.0.0
  Appium_port:启动的server的端口号,默认4723
  bootstrap_port:与高版本(4.2及以上)android机交互的端口号,默认3724
  selendroid_port:与低版本(4.2以下)android机交互的端口号,默认8080
  chromedriver_port:与chrome浏览器交互的端口号,默认9516
  deviceid:设备的id(adb devices查看)
  注意:android多机启动server一定要指定-U参数,否则在windows上运行时会抛错
  iOS多机的server启动命令
  startservercmd = "start /b appium --session-override -a " + address + " -p " + Appium_port+" --webdriveragent-port “+webdriveragent_port
  各项说明:
  address:启动server的地址,如果不指定为0.0.0.0
  Appium_port:启动的server的端口号
  webdriveragent_port:与iOS客户端交互的webdriveragent的端口号,默认8010
  多进程启动server命令,客户端进行连接
  通过多进程进行多机测试
  定义一个递增增量,每个进程都在基础端口号上增加这个递增增量,保证每个server的端口号不会冲突
  下面为多进程的代码,devices为连接的手机的deviceid列表,testsuit()为要执行的case入口
  if __name__ == "__main__":
  if devices == []:
  log().log("先插入手机再进行测试谢谢!当前需要的手机系统:"+optionsystem)
  sys.exit()
  if len(devices) == 1:
  testsuit()
  else:
  from multiprocessing import Process
  port_d=1#各个端口号的差值
  for deviceid in devices:
  t=Process(target=testsuit, args=(port_d,))
  t.start()
  port_d =port_d+1
  说明:port_d就是上面上的定增增量,通过这个变量我们可以加到基础端口号上(基础端口号自己写到一个公共变量里就好,比如appium server用4723)
  启动了服务器,就可以通过不同的appium server端口号连接到服务器了
  webdriver.Remote('http://127.0.0.1:'+appiumport+'/wd/hub', desired_caps)
  注意:在windows中启动多进程一定要把多进程的连接写到【if __name__ == “__main__”:】下面,否则进行webdriver启动连接时会被拒绝
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号