AirtestProject 测试了 5 款最常见的模拟器,发现与 Airtest 自动化最配的竟然是...
此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
前言
模拟器是我们的测试小伙伴非常喜欢的一款工具。在使用 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 官网:airtest.netease.com/
Airtest 教程官网:airtest.doc.io.netease.com/
搭建企业私有云服务:airlab.163.com/b2b