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

 

前言

模拟器是我们的测试小伙伴非常喜欢的一款工具。在使用 airtest 框架做自动化测试的时候,小伙伴们也是非常喜欢用模拟器来作为测试设备的,但是我们也收到过很多关于连接模拟器的问题:

① airtest 连不上xx模拟器怎么办
② xx模拟器连上了但是好卡啊
③ 哪款模拟器好用,有没有推荐的呀
......

别急,今天我们就用AirtestIDE来连接下5家主流的模拟器,看看这几款模拟器,到底谁好用一些。

准备工作

① 进入开发者模式,打开USB调试

不论连接什么品牌的模拟器,我们都需要先把它的 USB模式 打开,才能够连的上。

开启方式:在设置中滑到最后,找到关于平板电脑,点击进去找到版本号,然后连续点击版本号直到提示:您已处于开发者模式。此时返回上一层菜单,可以看到多了一个开发者选项,点击进去,再把 USB调试 这个选项打开即可。

② 在模拟器中手动安装上Yosemite

很多情况下,airtest 连接模拟器时,并不会像连接真机设备那样,自动安装上 Yosemite 。所以我们在此建议,连接模拟器之前,最好先手动把 Yosemite 安装上,可以有效避免下述错误:

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

Yosemite 的安装包可以在解压好的AirtestIDE文件夹里面找到:

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

1.雷电模拟器

① 本次测试所用产品版本:

  • 雷电模拟器:3.94.0(最新)
  • AirtestIDE:1.2.3(最新)

② 雷电模拟器的端口号是5554,在IDE的设备连接窗口上连接雷电模拟器的步骤如图:

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

注意:雷电模拟器不需要勾选备选的连接参数就可以连接上AirtestIDE

③ 如果刷出了多台端口号为5554的雷电模拟器设备,选择 ADB Status 为 device 的那台,即 emulator-5554 。

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

④ 在 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模拟器的步骤如图:

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

注意: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的设备连接窗口上连接夜神模拟器的步骤如图:

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

③ 在IDE上连接夜神,需要在点击connect之前勾选上备选连接参数 use javacap ,否则连接会报错或者模拟器出现黑屏:

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

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

④ 在 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的设备连接窗口上连接逍遥模拟器的步骤如图:

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

③ 在IDE上连接逍遥模拟器,需要在点击connect之前勾选上备选的连接参数 use javacap 和 use ADB orientation,俩者缺一不可,否则会出现如下报错:

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

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

④ 在 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的设备连接窗口上连接天天模拟器的步骤如图:

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

③ 在IDE上连接天天模拟器,需要在点击connect之前勾选上备选的连接参数 use javacap 否则模拟器会出现黑屏:

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

④ 在 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

上一篇:微信小程序自动化实战(一)


下一篇:有关Airtest与iproxy之间不得不说的一些秘密