1,appium 已经启动个端口服务(已完成)
2,appium 已经通过不同的端口连接到多个设备(已完成)
3,只有一套测试脚本
4,开启多线程后,如何给脚本指定不同的 driver ?
整个的设计逻辑是:
已经启动了 appium 的多个服务,分别对应 4723,4724,4725 端口
启动脚本:
uri = [uri1,uri2,uri3] #分别对应不同appium服务,以appium服务端口区分,'http://127.0.0.1:4723/wd/hub','http://127.0.0.1:4724/wd/hub','http://127.0.0.1:4725/wd/hub'
desired_caps = [desired_caps1,desired_caps2,desired_caps3] #对应不同的设备,主要以系统版本区分
tt = []
for i, desired_cap in desired_caps.emurate():
driver = webdriver.Remote(uri[i], desired_cap)
t = threadding.Thread(target=run)
t.start()
def run():
# 执行测试脚本类
run 方法中去执行脚本
问题是:如何将 driver 引入到测试脚本中?
有一些思路:将 driver 写成线程局部变量,然后再各个测试脚本中去引入,没去实际操作过,不知道可不可行,大神来解答一下
在启动脚本中:
t_thread = threading.local()
t_thread.deiver = driver
测试脚本 1,
import t_thread
driver = t_thread.driver
测试脚本 2
import t_thread
driver = t_thread.driver
......