AirtestProject 测试了 5 款最常见的模拟器,发现与 Airtest 自动化最配的竟然是...

fishfish-yu · 2020年06月17日 · 1818 次阅读

此文章来源于项目官方公众号:“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 Statusdevice 的那台,即 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 javacapuse 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

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册