码迷,mamicode.com
首页 > 移动开发 > 详细

appium多线程

时间:2020-03-16 21:43:03      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:arp   图片   程序   日志   activity   rtu   ima   rem   另一个   

1函数级别
import time
import threading
def sing(nums):
for i in range(nums):
print("唱歌")
time.sleep(1)
def dance():
for i in range(5):
print("跳舞")
time.sleep(1)
 
t1 = threading.Thread(target=sing, args=(3,))
t2 = threading.Thread(target=dance)
t1.start()
t2.start()
 
2类级别
class Work1(threading.Thread):
def __init__(self, nums):
super().__init__()
self.nums = nums
def run(self):
for i in range(self.nums):
print("haha")
def main():
w = Work1(2)
w.start()
if __name__ == "__main__":
main()
 

能够将同一个脚本按顺序运行在不同的手机上。也就是一次运行可以同时测试多台手机。
写的 python 代码,比如 driver.swipe(100, 2000, 100, 1000),我们调用的代码会将这个动作转化成 http 请求
发送给 appium,appium 将接收到的指令通过 bootstrap 转化为 "java" 代码,并交给手机的 bootstarp 进行执行对
应的动作
技术图片

 

 

1想要开启多台手机,就需要让模拟器有多台手机才行。我们需要再一次使用 virtual box 导入虚拟机进行

1. 开启多个 appium
window 直接再次双击桌面图标即可。
mac 需要使用命令的形式,进入到 "应用程序" 的文件夹,然后使用 open -n Appium.app
2. 设置 bootstarp 端口
1. 进入到 appium 的 advanced 界面,进行设置。
2. 一个 appium 设置 server port 为 4723, bootstrap port 为 4724
3. 另一个 appium 设置 server port 为 4725, bootstrap port 为 4726
4. 点击 start sever
 

将 "前置代码" 中的 udid 参数设置为需要开启的手机
如果 udid 为 "192.168.57.101:5555" 并且 获取 driver 时的端口号为 4723,那么,4723 的 appium 的日
志会进行输出,并且使用 "192.168.57.101:5555" 手机运行脚本
同理,如果 udid 为 "192.168.57.102:5555" 并且 获取 driver 时的端口号为 4725,那么,4725 的
appium 的日志会进行输出,并且使用 "192.168.57.102:5555" 手机运行脚本
 
 

def init_driver(port, udid):
# server 启动参数
 desired_caps = dict()
desired_caps[‘platformName‘] = ‘Android‘
desired_caps[‘platformVersion‘] = ‘5.1‘
desired_caps[‘deviceName‘] = ‘genymotion‘
desired_caps[‘udid‘] = udid
# app信息
desired_caps[‘appPackage‘] = ‘com.android.settings‘
desired_caps[‘appActivity‘] = ‘.Settings‘
return webdriver.Remote(‘http://localhost:‘ + port + ‘/wd/hub‘, desired_caps)
def do(port, udid):
driver = init_driver(port, udid)
driver.find_element_by_xpath("//*[@text=‘更多‘]").click()
time.sleep(1)
driver.find_element_by_xpath("//*[@text=‘移动网络‘]").click()
 
devices = [{"port": "4723", "udid": "192.168.57.101:5555"}, {"port": "4725", "udid":"192.168.57.102:5555"}]
for device in devices:
  threading.Thread(target=do, args=(device["port"], device["udid"])).start()
 
 

appium多线程

标签:arp   图片   程序   日志   activity   rtu   ima   rem   另一个   

原文地址:https://www.cnblogs.com/autointerface/p/12506780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!