作为测试小白,当时遇到了N多问题:

  开启多线程后,发现app启动后,用例就停止了;且启动app对应的手机不能正确对应,用例中是A手机跑A用例,结果启动了B手机跑A用例报错。

  主要原因:Appium Server启动时只区分了启动端口,但未区分监听端口;手机配置信息不完整,缺少udid信息

需要连接多台手机做兼容性,同时跑相同的测试用例或不同用例,那RC Driver需要分开,避免跑用例混乱或出错,也就是说我们需要同时开启多个appium server端。

同时也要明白,多线程并不是完完全全的并发,线程之间也是有执行先后顺序,一般情况不明显,不影响测试。

直接上测试代码:

#! /usr/bin/env python
#coding=utf-8
import threading
from Test_QQ import Test_QQ
from Test_weixin import Test_weixin def task1():
qq =Test_QQ.test_01_Sendmessage() def task2():
WeiXin = Test_weixin.test_01_Sendmessage() threads = [] t1 = threading.Thread(target= task1)
threads.append(t1) t2 = threading.Thread(target= task2)
threads.append(t2) if __name__ == '__main__':
for t in threads:
t.start()

  

其中Test_QQ或Test_wexin下的测试driver需要单独连接控制不同appium server,避免用例间相互影响。

start_appiumServer('4727', '4726', '75a2daf1')
time.sleep(10)
print "open server1 success"
desired_caps2 = driver_weixin()
driver = webdriver.Remote("http://127.0.0.1:4727/wd/hub", desired_caps2)

  

start_appiumServer('4729', '4728', 'BIBI5LEU6PRCDIIV')
time.sleep(10)
print "open server2 success"
desired_caps = driver_qq()
driver1 = webdriver.Remote("http://127.0.0.1:4729/wd/hub", desired_caps)

  

连接多台手机进行并发测试时,需要指定UDID参数,如下:
 def driver_qq(platformVersion="5.0.2 LRX22G",deviceName='Redmi note3'):
desired_caps = {}
desired_caps['platformName'] = "Android"
desired_caps['platformVersion'] = platformVersion
desired_caps['deviceName'] = deviceName
desired_caps['udid'] = "BIBI5LEU6PRCDIIV"
desired_caps['appPackage'] = 'com.tencent.mobileqq'
desired_caps['appActivity'] = 'com.tencent.mobileqq.activity.SplashActivity'
desired_caps['resetKeyboard'] = "True"
return desired_caps

最新文章

  1. 父子页面之间元素相互操作(iframe子页面)
  2. datagridview 定位到最后一行,定位不准的原因
  3. MFC下debug改成release版本出现问题及解决办法
  4. BZOJ树链剖分题目汇总
  5. PHP 错误与异常 笔记与总结(7)将错误日志以邮件方式发送
  6. 第2章 HelloWorld
  7. 安装 jdk、tomcat
  8. java笔记7之录入
  9. 性能测试之LoardRunner工作原理
  10. 基于MongoDB.Driver的扩展
  11. linux操作命令之搜索命令
  12. LaTex Verbatim 环境下使用数学符号
  13. Spark性能调优
  14. WordPress 本地建站
  15. macOS Sierra 如何打开任何来源
  16. [原]Android Fragment 入门介绍
  17. Pycharm中不支持中文编码的解决方案。Pycharm中文报错。 Pycharm出现的部分快捷键无效及解决办法
  18. Unity入门教程(上)
  19. SVG学习笔录(二)
  20. 12:计算2的N次方

热门文章

  1. Python函数定义和使用
  2. chrome不能浏览任何网页,提示配置proxy,Ubuntu
  3. VueJs相关学习网址
  4. Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)
  5. 数据库常用操作(mysql)
  6. 536. Construct Binary Tree from String 从括号字符串中构建二叉树
  7. (sealed)密封类及密封方法优缺点
  8. CMD命令启动和关闭SQL服务
  9. activeMq-2 高可用以及集群搭建
  10. Chapter3_操作符_算术操作符