日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 基于Appium控制多設備并行執行

瀏覽:28日期:2022-06-24 18:39:59
前言:

如何做到,控制多設備并行執行測試用例呢。

思路篇

我們去想下,我們可以獲取參數的信息,和設備的信息,那么​我們也可以針對每臺設備開啟不一樣的端口服務。那么每個服務都對應的端口,我們在獲取設備列表的時候,要和 每個服務對應起來,這樣,我們開啟一個進城池,我們在進程池里去控制設備,​每個進程池 控制不一樣的設備即可。

實現篇

首先實現對應的參數篇和對應的設備端口,

def startdevicesApp(): l_devices_list=[] port_list=[] alldevices=get_devices() if len(alldevices)>0:for item in alldevices: port=random.randint(1000,6000) port_list.append(port) desired_caps = { ’platformName’: ’Android’, ’deviceName’: item, ’platformVersion’: getPlatForm(item), ’appPackage’: get_apkname(apk_path), # 包名 ’appActivity’: get_apk_lautc(apk_path), # apk的launcherActivity ’skipServerInstallation’: True,'port':port} l_devices_list.append(desired_caps) return l_devices_list,port_list

​接下來,我們去​寫一個端口開啟服務。

class RunServer(threading.Thread):#啟動服務的線程 def __init__(self, cmd): threading.Thread.__init__(self) self.cmd = cmd def run(self): os.system(self.cmd)def start(port_list:list): def __run(url): time.sleep(10) response = urllib.request.urlopen(url, timeout=5) if str(response.getcode()).startswith('2'): return True for i in range(0, len(port_list)): cmd = 'appium -p %s ' % ( port_list[i]) if platform.system() == 'Windows': # windows下啟動server t1 =RunServer(cmd) p = Process(target=t1.start()) p.start() while True: time.sleep(4) if __run('http://127.0.0.1:' + port_list[i]+ '/wd/hub/status'): break

​我們開啟服務了,接下來,我們怎樣根據​不同進程執行測試用例。

def runcase(devics): #執行測試用例 passdef run(deviceslist:list):​ pool = Pool(len(deviceslist)) for i in deviceslist: pool.map(runcase, i) pool.close() pool.join()

接下來,就是我們去組合形成最后的執行的代碼。

最終代碼展示

from appium import webdriverfrom androguard.core.bytecodes.apk import APKimport osimport randomapk_path = '/Users/lileilei/Downloads/com.tencent.mobileqq_8.5.0_1596.apk'def get_devices() -> list: all_devices = [] cmd = 'adb devices' reslut = os.popen(cmd).readlines()[1:] for item in reslut: if item != 'n': all_devices.append(str(item).split('t')[0]) return all_devicesdef getPlatForm(dev: str) -> str: cmd = ’adb -s {} shell getprop ro.build.version.release’.format(dev) reslut = os.popen(cmd).readlines()[0] return str(reslut).split('n')[0]def get_apkname(apk): a = APK(apk, False, 'r') return a.get_package()def get_apk_lautc(apk): a = APK(apk, False, 'r') return a.get_main_activity()import platformfrom multiprocessing import Process,Poolimport time,urllib.requestimport threadingclass RunServer(threading.Thread):#啟動服務的線程 def __init__(self, cmd): threading.Thread.__init__(self) self.cmd = cmd def run(self): os.system(self.cmd)def start(port_list:list): def __run(url): time.sleep(10) response = urllib.request.urlopen(url, timeout=5) if str(response.getcode()).startswith('2'): return True for i in range(0, len(port_list)): cmd = 'appium -p %s ' % ( port_list[i]) if platform.system() == 'Windows': # windows下啟動server t1 =RunServer(cmd) p = Process(target=t1.start()) p.start() while True: time.sleep(4) if __run('http://127.0.0.1:' + port_list[i]+ '/wd/hub/status'): breakdef startdevicesApp(): l_devices_list=[] port_list=[] alldevices=get_devices() if len(alldevices)>0: for item in alldevices: port=random.randint(1000,6000) port_list.append(port) desired_caps = { ’platformName’: ’Android’, ’deviceName’: item, ’platformVersion’: getPlatForm(item), ’appPackage’: get_apkname(apk_path), # 包名 ’appActivity’: get_apk_lautc(apk_path), # apk的launcherActivity ’skipServerInstallation’: True, 'port':port } l_devices_list.append(desired_caps) return l_devices_list,port_listdef runcase(devics): #執行測試用例 passdef run(deviceslist:list): pool = Pool(len(deviceslist)) for devices in deviceslist: pool.map(runcase, devices) pool.close() pool.join()if __name__=='__main__': l_devices_list,port_list=startdevicesApp() start(port_list) run(l_devices_list)

以上就是python 基于Appium控制多設備并行執行的詳細內容,更多關于Appium控制多設備并行執行的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线观看视频免费一区二区三区| 一区二区电影| 日韩久久99| 日本在线不卡视频| 日韩国产精品久久久| 日本伊人久久| 日韩一区二区三区精品视频第3页| 蜜臀av一区二区在线免费观看| 香蕉精品999视频一区二区| 99久久99视频只有精品| 欧美亚洲精品在线| 亚洲欧美成人综合| 日韩综合一区二区| 少妇高潮一区二区三区99| 亚洲精品裸体| 欧美日韩99| 国产 日韩 欧美 综合 一区| 久久久久99| 欧美a级一区| 亚洲欧美日韩一区在线观看| 亚洲人www| 国产精品三级| 久久男人天堂| aa国产精品| 亚洲青青久久| 欧美激情福利| 欧美天堂视频| 国产精品免费看| 欧美日韩18| 深夜视频一区二区| 99在线观看免费视频精品观看| 蜜臀久久久99精品久久久久久| 91精品国产经典在线观看| 国内在线观看一区二区三区| 久久精品播放| 婷婷综合电影| 五月天av在线| 在线观看亚洲精品福利片| 久久av国产紧身裤| 国产精品蜜芽在线观看| 黄页网站一区| 国产精品久久久免费| 欧美日韩免费观看视频| 亚洲一区二区三区久久久| 久久精品国产精品亚洲毛片| 亚洲精品中文字幕乱码| 国产丝袜一区| 999国产精品视频| 日韩精品亚洲专区| 日韩av在线中文字幕| 国产麻豆综合| 免费在线观看一区| 99视频精品全部免费在线视频| 综合国产在线| 精品国产中文字幕第一页| 亚洲高清av| 国产精品久久久久久妇女| 在线成人直播| 久久久久九九精品影院| 99精品99| 国产一区不卡| 亚洲日本久久| 啪啪国产精品| 国产精品s色| 免费久久99精品国产自在现线| 久久精品伊人| 亚洲在线国产日韩欧美| 国产不卡一区| 日本强好片久久久久久aaa| 91一区二区三区四区| 亚洲一二三区视频| 精品成人免费一区二区在线播放| 日韩福利视频网| 亚洲国内欧美| 国产精品xxx在线观看| 亚洲一区免费| 欧洲精品一区二区三区| 国产午夜一区| 蜜臀av在线播放一区二区三区| 国产精品不卡| 日本va欧美va欧美va精品| 美女久久久久| 精品三级av在线导航| 亚洲免费福利一区| 久久久一二三| 精品三区视频| 欧美另类中文字幕| 天堂av在线一区| 欧美日韩精品免费观看视欧美高清免费大片 | 国产日韩欧美中文在线| 国产综合视频| 国产精品99精品一区二区三区∴| 首页国产欧美久久| 国产字幕视频一区二区| 97精品视频在线看| 国产精东传媒成人av电影| 在线精品视频一区| 亚洲精品中文字幕乱码| 成人亚洲欧美| 美女视频一区在线观看| 日韩高清在线一区| 噜噜噜久久亚洲精品国产品小说| 日本精品影院| 91亚洲成人| 国产一区日韩| 精品三级av| 国产日韩在线观看视频| 日韩亚洲精品在线观看| 久久国产精品亚洲77777| 亚洲精品一区二区在线看| 亚洲成人二区| 99久久激情| 亚洲福利专区| 亚洲国内精品| 精品一区三区| 午夜免费一区| 一区二区自拍| 丝袜亚洲另类欧美| 中文不卡在线| 综合激情一区| 日韩免费精品| 亚洲日韩中文字幕一区| 亚洲精品福利| 97久久亚洲| 国产乱子精品一区二区在线观看| 日本视频一区二区| 久久国产免费看| 国产伦理一区| 久久精品国产99国产精品| 久久精品国产999大香线蕉| 久久精品系列| 日韩欧美一区免费| 久久天堂精品| 国产高清久久| 午夜一级在线看亚洲| 中文在线日韩| 日韩一区精品| 国产精品任我爽爆在线播放| 久久99久久久精品欧美| 精品国产中文字幕第一页| 福利一区和二区| 亚洲精品在线影院| 激情五月色综合国产精品| 合欧美一区二区三区| 蜜臀久久99精品久久久画质超高清| 视频一区二区三区在线| 日韩中文字幕一区二区高清99| 国产日韩视频在线| 荡女精品导航| 欧美~级网站不卡| 美女日韩在线中文字幕| 亚洲乱码一区| 国产精品jk白丝蜜臀av小说| 国产精品精品| 91久久中文| 69堂精品视频在线播放| 精品在线网站观看| 中文字幕系列一区| 美女精品在线| 国产精品mv在线观看| 久久男女视频| 日韩欧美三区| 国产精品yjizz视频网| 亚洲精品国产偷自在线观看| 亚洲精品韩国| 国产suv精品一区| 性欧美69xoxoxoxo| 日韩激情中文字幕| 成人在线丰满少妇av| 黄色在线一区| 国产美女精品视频免费播放软件| se01亚洲视频| 日韩高清一级| 欧美日韩视频网站| 在线精品亚洲| 97精品国产福利一区二区三区| 亚洲一区二区成人| 精品网站999| 爽好久久久欧美精品| 精品三区视频| 一区二区三区网站| 久久爱www.| 在线综合欧美| 久久精品欧洲| 亚洲一区不卡| 91视频一区| 亚洲欧美久久精品| 日韩欧美一区二区三区在线视频| 蜜桃视频在线观看一区二区| 久久亚洲精精品中文字幕| 影音先锋久久| 国产一区福利| 亚洲一区二区日韩| 国精品产品一区| 蜜桃视频一区二区| 丝袜美腿诱惑一区二区三区 | 97久久中文字幕| 99久久精品网| 久久精品毛片| 亚洲精品免费观看|