代駕軟件系統(tǒng)多少錢一套搜索引擎seo關(guān)鍵詞優(yōu)化效果
我們在做app自動(dòng)化的時(shí)候,若要考慮兼容性問題,需要跑幾臺(tái)設(shè)備,要是一臺(tái)一臺(tái)的跑比較耗時(shí),因此需要考慮使用多線程來同時(shí)操作多臺(tái)設(shè)備。
1.我們拿兩臺(tái)設(shè)備來模擬操作下,使用:adb devices查看連接狀況,獲取到設(shè)備名稱。
?2.獲取需要操作app的包名和頁面名稱(前提該設(shè)備已經(jīng)打開了app)
?3.設(shè)置初始配置信息
from appium import webdriver
import threading# 設(shè)備一
def run_01():desired = {"platformName": "Android", # 手機(jī)系統(tǒng)"platformVersion": "7.1.2", # 手機(jī)系統(tǒng)版本"deviceName": '127.0.0.1:62001', # 連接的設(shè)備(adb devices)"automationName": "UiAutomator2","appPackage": "", # app包名"appActivity": "", # app的啟動(dòng)頁面"autoGrantPermissions": "true", # 默認(rèn)允許app獲取相關(guān)權(quán)限"noReset": True # 保留登錄模式}driver_01 = webdriver.Remote(command_executor="http://127.0.0.1:4723/wd/hub", desired_capabilities=desired)# driver(driver_01)# 設(shè)備二
def run_02():desired = {"platformName": "Android", # 手機(jī)系統(tǒng)"platformVersion": "11", # 手機(jī)系統(tǒng)版本"deviceName": '90bf8faf', # 連接的設(shè)備(adb devices)"automationName": "UiAutomator2", # 自動(dòng)化測試框架 (1.4以上的appium不用寫)"appPackage": "", # app包名"appActivity": "", # app的啟動(dòng)頁面"autoGrantPermissions": "true", # 默認(rèn)允許app獲取相關(guān)權(quán)限"noReset": True # 保留登錄模式}driver_02 = webdriver.Remote(command_executor="http://127.0.0.1:4720/wd/hub", desired_capabilities=desired)# driver(driver_02)
不同的設(shè)備啟動(dòng)配置端口號是不一樣的,我這里一個(gè)是4723,一個(gè)是4720.
4.打開頁面后操作元素,這里只簡單的關(guān)閉頁面(具體方法可參考:https://www.cnblogs.com/lihongtaoya/p/16988855.html)
def driver(drivers): # 元素操作方法time.sleep(5)drivers.quit()
5.使用多線程運(yùn)行多臺(tái)設(shè)備
if __name__ == '__main__':threading.Thread(target=run_01).start()threading.Thread(target=run_02).start()
6.啟動(dòng)appium服務(wù)
啟動(dòng)指令:appium --allow-cors -p 端口號 -U 設(shè)備名稱
?我這邊是兩臺(tái)設(shè)備,因此需要啟動(dòng)兩個(gè)服務(wù),啟動(dòng)完之后就可以運(yùn)行main函數(shù)了。
7.以上實(shí)例是將配置信息寫在了代碼中,若是有十幾二十幾臺(tái)設(shè)備的話,這種寫法有點(diǎn)麻煩,我們可以將配置信息的產(chǎn)生封裝在json文件中使用時(shí)用load()方法去取參數(shù)即可。
1)創(chuàng)建一個(gè)json文件存放配置信息
[{"url": "http://127.0.0.1:4723/wd/hub","desired": {"platformName": "Android","platformVersion": "7.1.2","deviceName": "127.0.0.1:62001","automationName": "UiAutomator2","appPackage": "","appActivity": "","autoGrantPermissions": "true","noReset": true}}, {"url": "http://127.0.0.1:4720/wd/hub","desired":{"platformName": "Android","platformVersion": "11","deviceName": "90bf8faf","automationName": "UiAutomator2","appPackage": "","appActivity": "","autoGrantPermissions": "true","noReset": true}}]
2)讀取配置信息,這里直接貼完整代碼了。
def test_run(url, desired):driver_02 = webdriver.Remote(command_executor=url, desired_capabilities=desired)driver(driver_02)def driver(drivers): # 元素操作方法time.sleep(5)drivers.quit()if __name__ == '__main__':with open("./appium.json", mode="r", encoding="utf-8") as f:data = list(json.load(f))for i in range(0, len(data)):a = threading.Thread(target=test_run, args=(data[i]["url"], data[i]["desired"]))a.start()
同時(shí),在這我準(zhǔn)備了一份軟件測試視頻教程(含接口、自動(dòng)化、性能等),需要的可以直接在下方觀看,或者直接關(guān)注VX公眾號:互聯(lián)網(wǎng)雜貨鋪,免費(fèi)領(lǐng)取
軟件測試視頻教程觀看處:
字節(jié)大佬教你逼自己如何在15天內(nèi)掌握自動(dòng)化測試(接口自動(dòng)化/APP自動(dòng)化/Web自動(dòng)化/性能測試),內(nèi)含項(xiàng)目實(shí)戰(zhàn)
技術(shù)上的一點(diǎn)幫助
PS:這里分享一套軟件測試的自學(xué)教程合集。對于在測試行業(yè)發(fā)展的小伙伴們來說應(yīng)該會(huì)很有幫助。除了基礎(chǔ)入門的資源,博主也收集不少進(jìn)階自動(dòng)化的資源,從理論到實(shí)戰(zhàn),知行合一才能真正的掌握。全套內(nèi)容已經(jīng)打包到網(wǎng)盤,內(nèi)容總量接近500個(gè)G。如需要軟件測試學(xué)習(xí)資料,關(guān)注公眾號(互聯(lián)網(wǎng)雜貨鋪),后臺(tái)回復(fù)1,整理不易,給個(gè)關(guān)注點(diǎn)個(gè)贊吧,謝謝各位大佬!
? 240集-零基礎(chǔ)到精通全套視頻課程
? [課件+源碼]-完整配套的教程
? 18套-測試實(shí)戰(zhàn)項(xiàng)目源碼
? 37套-測試工具軟件包
? 268道-真實(shí)面試題
? 200個(gè)模板-面試簡歷模板、測試方案模板、軟件測試報(bào)告模板、測試分析模版、測試計(jì)劃模板、性能測試報(bào)告、性能測試報(bào)告、性能測試腳本用例模板(信息完整)
這些資料,對于做【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個(gè)倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術(shù)行業(yè),一定要提升技術(shù)功底。