前言
模擬器是我們的測試小伙伴非常喜歡的一款工具。在使用 airtest
框架做自動化測試的時候,小伙伴們也是非常喜歡用模擬器來作為測試設備的,但是我們也收到過很多關於連接模擬器的問題:
① airtest
連不上xx模擬器怎么辦
② xx模擬器連上了但是好卡啊
③ 哪款模擬器好用,有沒有推薦的呀
......
別急,今天我們就用AirtestIDE來連接下5家主流的模擬器,看看這幾款模擬器,到底誰好用一些。
准備工作
① 進入開發者模式,打開USB調試
不論連接什么品牌的模擬器,我們都需要先把它的 USB模式
打開,才能夠連的上。
開啟方式:在設置中滑到最后,找到關於平板電腦,點擊進去找到版本號,然后連續點擊版本號直到提示:您已處於開發者模式。此時返回上一層菜單,可以看到多了一個開發者選項,點擊進去,再把 USB調試 這個選項打開即可。
② 在模擬器中手動安裝上Yosemite
很多情況下,airtest
連接模擬器時,並不會像連接真機設備那樣,自動安裝上 Yosemite
。所以我們在此建議,連接模擬器之前,最好先手動把 Yosemite
安裝上,可以有效避免下述錯誤:
Yosemite
的安裝包可以在解壓好的AirtestIDE文件夾里面找到:
1.雷電模擬器
① 本次測試所用產品版本:
- 雷電模擬器:3.94.0(最新)
- AirtestIDE:1.2.3(最新)
② 雷電模擬器的端口號是5554,在IDE的設備連接窗口上連接雷電模擬器的步驟如圖:
注意:雷電模擬器不需要勾選備選的連接參數就可以連接上AirtestIDE
③ 如果刷出了多台端口號為5554的雷電模擬器設備,選擇 ADB Status
為 device
的那台,即 emulator-5554
。
④ 在 auto_setup
接口中連接雷電模擬器
auto_setup(__file__,devices=["Android://127.0.0.1:5037/emulator-5554"])
2.mumu模擬器
① 本次測試所用產品版本:
- mumu模擬器:2.3.10(最新)
- AirtestIDE:1.2.3(最新)
② mumu模擬器的端口號是7555,在IDE的設備連接窗口上連接mumu模擬器的步驟如圖:
注意:mumu模擬器不需要勾選備選的連接參數就可以連接上AirtestIDE
③ 在 auto_setup
接口中連接mumu模擬器
auto_setup(__file__,devices=["Android://127.0.0.1:5037/127.0.0.1:7555"])
3.夜神模擬器
① 本次測試所用產品版本:
- 夜神模擬器:V6.6.0.8005(最新)
- AirtestIDE:1.2.3(最新)
② 夜神模擬器的端口號是62001,在IDE的設備連接窗口上連接夜神模擬器的步驟如圖:
③ 在IDE上連接夜神,需要在點擊connect之前勾選上備選連接參數 use javacap
,否則連接會報錯或者模擬器出現黑屏:
④ 在 auto_setup
接口中連接夜神模擬器
auto_setup(__file__,devices=["Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP"])
4.逍遙模擬器
① 本次測試所用產品版本:
- 逍遙模擬器:7.2.1(最新)
- AirtestIDE:1.2.3(最新)
② 逍遙模擬器的端口號是21503,在IDE的設備連接窗口上連接逍遙模擬器的步驟如圖:
③ 在IDE上連接逍遙模擬器,需要在點擊connect之前勾選上備選的連接參數 use javacap
和 use ADB orientation
,倆者缺一不可,否則會出現如下報錯:
④ 在 auto_setup
接口中連接逍遙模擬器
auto_setup(__file__,devices=["Android://127.0.0.1:5037/127.0.0.1:21503?cap_method=JAVACAP&&ori_method=ADBORI"])
5.天天模擬器
① 本次測試所用產品版本:
- 天天模擬器:3.2.8(最新)
- AirtestIDE:1.2.3(最新)
② 天天模擬器的端口號是6555,在IDE的設備連接窗口上連接天天模擬器的步驟如圖:
③ 在IDE上連接天天模擬器,需要在點擊connect之前勾選上備選的連接參數 use javacap
否則模擬器會出現黑屏:
④ 在 auto_setup
接口中連接天天模擬器
auto_setup(__file__,devices=["Android://127.0.0.1:5037/127.0.0.1:6555?cap_method=JAVACAP"])
小結
① 跑同一腳本5次時的各項表現(該腳本運運行時長約5min):
序號 | 模擬器 | CPU使用率 | 內存使用率 | 平均運行時長 | 備注 |
---|---|---|---|---|---|
1 | 雷電 | 75%-85% | 44% | 263.676s | 0次運行失敗 |
2 | mumu | 75%-85% | 45% | 242.742s | 0次運行失敗 |
3 | 夜神 | 65%-75% | 43% | 230.199s | 1次卡死 |
4 | 逍遙 | 80%-85% | 47% | 214.351s | 0次運行失敗 |
5 | 天天 | 65%-75% | 46% | 250.368s | 0次運行失敗 |
注:模擬器性能配置均設為最高級,設備型號基本一致。
另外在不同的硬件設備上測試結果可能存在誤差。
② 模擬器勾選備選參數及常見問題
序號 | 模擬器 | 端口號 | 備選連接參數 | 常見問題 |
---|---|---|---|---|
1 | 雷電 | 5554 | 無 | 刷出多台端口號為5554的設備 |
2 | mumu | 7555 | 無 | 暫未發現 |
3 | 夜神 | 62001 | use javacap | 不勾選javacap會黑屏、卡死 |
4 | 逍遙 | 21503 | use javacap、use ADB orientation | 不勾選會報AdbShellError |
5 | 天天 | 6555 | use javacap | 不勾選javacap會黑屏 |
③ 結論
1)逍遙模擬器運行腳本的速度相對其它模擬器快一些;
2)夜神模擬器相對其他模擬器卡死的概率高一些;
3)不用勾選任何連接參數就可以連上的模擬器有雷電和Mumu;
4)模擬器出現連接問題優先檢查是否裝上Yosemite,再通過勾選連接參數來嘗試解決
5)本次測試基於特定版本的IDE和模擬器,童鞋們可以優先使用測試通過的版本避免出現更多連接錯誤。
Airtest官網:http://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有雲服務:https://airlab.163.com/b2b