使用python+poco+夜神模擬器進(jìn)行自動化測試實例
網(wǎng)易最近出的一款自動化UI測試工具:Airtest 挺火的,還受到谷歌的推薦。我試著用了一下,感覺優(yōu)缺點還是蠻明顯的。對初學(xué)者來說,能用到的也就是圖像識別的功能,這塊做得比老牌的按鍵精靈弱很多。不過Airtest集合了poco框架對熟悉python的同學(xué)來說,是個進(jìn)行自動化測試的利器。
我用了一段時間Airtest以后,發(fā)現(xiàn)其實我完全可以丟開Airtest,我需要的是poco框架提供的unity3d控件讀取,Airtest在其中只起到了一個pythonIDE的作用。自動化跑py腳本時,還要打開Airtest并通過Airtest連接模擬器很煩,于是稍微研究了一下,搭建了一個python+poco+夜神模擬器的測試環(huán)境。
第1步,需要有一個自己的python環(huán)境。網(wǎng)上教程很多,不贅述。
第2步,在自己的python里引入poco。Airtest自帶poco框架,所以不使用Airtest的話,poco需要手動導(dǎo)入。
安裝poco很簡單,在cmd里輸入 pip install pocoui 即可。pip會自動下載poco并安裝到你的python環(huán)境里。
第3步,添加夜神的adb環(huán)境變量。由于需要在命令行調(diào)用夜神,所以將夜神的adb.exe添加到系統(tǒng)環(huán)境變量里是必須的。夜神的默認(rèn)路徑是C:\Program Files\Nox\bin,添加即可。這樣可以直接通過os調(diào)用nox_adb.exe。
第4步 修改python腳本。
要通過python調(diào)用夜神打開待測游戲,首先需要取得該游戲的入口類名。一般入口類名會以Activity結(jié)尾。先用夜神把待測游戲打開,然后用
adb shell dumpsys activity | findstr “Unity” 命令,
可以查到當(dāng)前所有的類名。一般第一行的cmp參數(shù)就是游戲的入口。
然后在python里使用 os.system(“nox_adb -s 127.0.0.1:62001 shell am start -n 包名/類名”)方法就可以直接通過夜神模擬器來打開游戲了。PS:62001是夜神的默認(rèn)端口,使用其他的模擬器則更換對應(yīng)的端口即可。
原本使用Airtest的默認(rèn)腳本是這樣的。
初始化UnityPoco以后直接聲明poco實例就可以使用。
修改以后的腳本增加os命令調(diào)用模擬器開啟游戲:
這樣,poco就可以正常取到adb連接,與之前通過Airtest工具進(jìn)行連接沒有區(qū)別。
調(diào)試環(huán)境的時候還碰到過一個坑,python的adb.exe版本與夜神的adb.exe版本不一致,需要手動用高版本覆蓋低版本,夜神的nox_adb.exe其實就是adb.exe,手動改一下名字就行。
再寫個批處理文件,自動拷貝每天編譯好的版本,然后丟到夜神里安裝,再直接執(zhí)行這個py文件,就可以做到自動化測試了。
執(zhí)行的時候發(fā)現(xiàn)單獨執(zhí)行py腳本,與通過Airtest執(zhí)行py腳本,效率略有降低,在執(zhí)行前會有幾秒的卡頓,我估計是由于還調(diào)用了 airtest庫的原因,需要先在本地解釋。
使用Airtest寫的腳本里,像snapshot和sleep都是Airtest提供的封裝好的命令,如果嫌效率低,就不要用這2個命令,換用python原生的命令即可。
以上這篇使用python+poco+夜神模擬器進(jìn)行自動化測試實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Python+unittest+requests+excel實現(xiàn)接口自動化測試框架
- Python接口自動化測試框架運行原理及流程
- python+appium+yaml移動端自動化測試框架實現(xiàn)詳解
- Python+unittest+requests 接口自動化測試框架搭建教程
- Python實現(xiàn)http接口自動化測試的示例代碼
- python自動化測試三部曲之request+django實現(xiàn)接口測試
- Python3+RIDE+RobotFramework自動化測試框架搭建過程詳解
- jenkins+python自動化測試持續(xù)集成教程
- python利用Excel讀取和存儲測試數(shù)據(jù)完成接口自動化教程
- Python+Appium實現(xiàn)自動化測試的使用步驟
- python selenium自動化測試框架搭建的方法步驟
- python palywright庫基本使用
相關(guān)文章
python 進(jìn)程 進(jìn)程池 進(jìn)程間通信實現(xiàn)解析
這篇文章主要介紹了python 進(jìn)程 進(jìn)程池 進(jìn)程間通信實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08python+opencv像素的加減和加權(quán)操作的實現(xiàn)
這篇文章主要介紹了python+opencv像素的加減和加權(quán)操作的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python使用scapy掃描內(nèi)網(wǎng)IP或端口的方法實現(xiàn)
Scapy是一個Python程序,使用戶能夠發(fā)送,嗅探和剖析并偽造網(wǎng)絡(luò)數(shù)據(jù)包,本文主要介紹了python使用scapy掃描內(nèi)網(wǎng)IP或端口的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-10-10PHP網(wǎng)頁抓取之抓取百度貼吧郵箱數(shù)據(jù)代碼分享
本文給大家介紹PHP網(wǎng)頁抓取之抓取百度貼吧郵箱數(shù)據(jù)代碼分享,程序?qū)崿F(xiàn)了一鍵抓取帖子全部郵箱和分頁抓取郵箱兩個功能,感興趣的朋友一起學(xué)習(xí)吧2016-04-04python函數(shù)存儲在模塊的優(yōu)點及用法總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于python函數(shù)存儲在模塊的優(yōu)點及用法相關(guān)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。2021-10-10