Appium同时连接多台手机进行测试(多线程)
2024-10-18 21:26:40
作为测试小白,当时遇到了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
最新文章
- 父子页面之间元素相互操作(iframe子页面)
- datagridview 定位到最后一行,定位不准的原因
- MFC下debug改成release版本出现问题及解决办法
- BZOJ树链剖分题目汇总
- PHP 错误与异常 笔记与总结(7)将错误日志以邮件方式发送
- 第2章 HelloWorld
- 安装 jdk、tomcat
- java笔记7之录入
- 性能测试之LoardRunner工作原理
- 基于MongoDB.Driver的扩展
- linux操作命令之搜索命令
- LaTex Verbatim 环境下使用数学符号
- Spark性能调优
- WordPress 本地建站
- macOS Sierra 如何打开任何来源
- [原]Android Fragment 入门介绍
- Pycharm中不支持中文编码的解决方案。Pycharm中文报错。 Pycharm出现的部分快捷键无效及解决办法
- Unity入门教程(上)
- SVG学习笔录(二)
- 12:计算2的N次方
热门文章
- Python函数定义和使用
- chrome不能浏览任何网页,提示配置proxy,Ubuntu
- VueJs相关学习网址
- Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)
- 数据库常用操作(mysql)
- 536. Construct Binary Tree from String 从括号字符串中构建二叉树
- (sealed)密封类及密封方法优缺点
- CMD命令启动和关闭SQL服务
- activeMq-2 高可用以及集群搭建
- Chapter3_操作符_算术操作符