Python3+Appium實(shí)現(xiàn)多臺(tái)移動(dòng)設(shè)備操作的方法
需求:
連接本機(jī)的(兩臺(tái)安卓手機(jī))或者本機(jī)安裝的(安卓模擬器兩個(gè)),實(shí)現(xiàn)同時(shí)安裝本地apk包 。
demon.py
特別說(shuō)明:必須寫(xiě)udid才能實(shí)現(xiàn)同時(shí)對(duì)兩臺(tái)以上的移動(dòng)設(shè)備操作。對(duì)deviceName中的值進(jìn)行修改后是無(wú)法區(qū)分移動(dòng)設(shè)備的,如果只修改deviceName的value就只能在同一臺(tái)設(shè)備上進(jìn)行安裝了。
下面代碼只是基礎(chǔ)介紹,擴(kuò)展到框架中需要根據(jù)自己需求做;
import os
import threading
import multiprocessing
from appium import webdriver
class ConcurrentExecution:
"""
多進(jìn)程并發(fā)安裝本地apk
"""
def __init__(self):
self.driver_port = [[4700,"127.0.0.1:21503"],[4701,"127.0.0.1:21513"]]
def android_driver(self,i):
driver_list = []
capabilities = {
"platformName" : "Android",
"udid" : self.driver_port[i][1],
"deviceName" : self.driver_port[i][1],
"app" : "E:\\appiumautocode\\xxxoooox.apk",
"noReset" : "True"
}
driver = webdriver.Remote("http://127.0.0.1:{0}/wd/hub".format(self.driver_port[i][0]),capabilities)
driver_list.append(driver)
return driver_list
def kill_server(self):
"""
清理appium環(huán)境,殺node.exe的進(jìn)程
:return:
"""
server_list = os.popen('tasklist | find "node.exe"').readlines()
print(server_list)
if len(server_list)>0:
os.system("taskkill -F -PID node.exe")
def start_appium_server(self,j):
"""
啟動(dòng)appium服務(wù)器
:return:
"""
li_port = [4700,4701]
os.system("appium -p {0}".format(li_port[j]))
if __name__ == '__main__':
obj = ConcurrentExecution()
obj.kill_server()
for j in range(2): #啟動(dòng)服務(wù)
th = threading.Thread(target=obj.start_appium_server,args=(j,))
th.start()
for i in range(2): #運(yùn)行
t = multiprocessing.Process(target=obj.android_driver,args=(i,))
t.start()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解基于Android的Appium+Python自動(dòng)化腳本編寫(xiě)
- MAC平臺(tái)基于Python Appium環(huán)境搭建過(guò)程圖解
- Python+Appium實(shí)現(xiàn)自動(dòng)化測(cè)試的使用步驟
- appium+python adb常用命令分享
- Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測(cè)試詳解
- 基于Python+Appium實(shí)現(xiàn)京東雙十一自動(dòng)領(lǐng)金幣功能
- Python3+Appium安裝使用教程
- Appium+python自動(dòng)化之連接模擬器并啟動(dòng)淘寶APP(超詳解)
- Python3+Appium安裝及Appium模擬微信登錄方法詳解
相關(guān)文章
解決Pytorch在測(cè)試與訓(xùn)練過(guò)程中的驗(yàn)證結(jié)果不一致問(wèn)題
這篇文章主要介紹了解決Pytorch在測(cè)試與訓(xùn)練過(guò)程中的驗(yàn)證結(jié)果不一致問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Numpy ndarray 多維數(shù)組對(duì)象的使用
這篇文章主要介紹了Numpy ndarray 多維數(shù)組對(duì)象的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
python中for循環(huán)的多種使用實(shí)例
for語(yǔ)句是Python中執(zhí)行迭代的兩個(gè)語(yǔ)句之一,另一個(gè)語(yǔ)句是while,下面這篇文章主要給大家介紹了關(guān)于python中for循環(huán)的多種使用方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
LyScript實(shí)現(xiàn)指令查詢功能的示例代碼
對(duì)LyScript自動(dòng)化插件進(jìn)行二次封裝,可以實(shí)現(xiàn)從內(nèi)存中讀入目標(biāo)進(jìn)程解碼后的機(jī)器碼。所以本文為大家介紹了如何實(shí)現(xiàn)LyScript指令查詢功能,需要的可以參考一下2022-09-09
Django實(shí)現(xiàn)隨機(jī)圖形驗(yàn)證碼的示例
這篇文章主要介紹了Django實(shí)現(xiàn)隨機(jī)圖形驗(yàn)證碼的示例,幫助大家更好的學(xué)習(xí)和使用django框架,感興趣的朋友可以了解下2020-10-10

