在如今的自动化测试领域,很多人可能会觉得,捕获手机上的数据包已经是非常复杂的事情了,更别提让测试过程实现自动化,似乎充满了困难。有一款名为Airtest的自动化测试工具,能够轻松解决这一问题。你只需要将它运行起来,手机上的所有操作都可以交给它去完成,完全实现“点点点”的自动化操作。
我们需要将手机与Airtest连接。由于我手头有一台模拟器,而为了避免干扰我平时的使用,我决定使用Airtest模拟器来进行连接。打开模拟器后,我们先进入“关于平板电脑”的设置页面,如图所示:
接着,通过多次点击版本号,直到出现开发者选项功能。然后,进入开发者选项,打开U调试功能,如图:
至此,我们的U调试功能已经开启。接下来,我们就可以使用Airtest来远程连接模拟器,如图所示:
在这个过程中,有一个小知识点需要特别提醒大家:连接远程设备时,并不是所有的端口号都适用。不同的模拟器会对应不同的端口号,因此需要选择正确的端口。模拟器和端口号之间的对应关系如下:
选择正确的主机地址和端口号后,点击连接按钮即可开始连接,图示如下:
因为我们是使用模拟器进行连接,所以建议勾选“使用模拟器”这一选项,否则即使模拟器连接成功,画面也可能无法显示。如果仍然无法看到画面,可能是模拟器内缺少屏幕捕捉程序“yosemite.apk”。这时,我们可以在Airtest中找到该文件,直接拖动到模拟器内,然后重新连接,这样就能看到模拟器画面了,如图所示:
连接成功后,我们就可以开始使用Airtest进行各种自动化操作了。值得一提的是,Airtest不仅能够与模拟器连接,还能与已打开或者未打开的应用进行连接操作。在Airtest界面中,我们可以选择指定应用程序,这时该应用程序就会被加载到Airtest中。比如,我在其中打开了360浏览器,如图所示:
加载完毕后,我们可以在Airtest内使用该应用。但如果我们回到桌面,就会发现浏览器图标消失了。这是因为Airtest正在使用该浏览器。如果需要关闭它,可以点击断开当前设备,这样浏览器图标就会重新出现在桌面上,如图所示:
虽然模拟器非常方便,但它也有一些缺点,尤其是在电脑配置较低的情况下,可能会导致模拟器无法同时打开多个应用。为了解决这个问题,我们也可以选择使用手机进行连接。手机连接相较于模拟器稍微复杂一些,接下来我将演示如何使用手机连接Airtest。
将手机通过U线连接到电脑,并确保打开开发者选项和U调试功能。与模拟器不同,手机除了需要开启调试模式外,还需要设置默认U配置为“MIDI”。这个选项位于U调试功能的下方,如图所示:
选择“MIDI”之后,手机的开发者选项设置就完成了。仅仅如此还远远不够。接下来,我们还需要进行一些额外的配置,确切地说,是一堆配置。不得不说,这款IDE的最大缺陷之一就是安装过程繁琐,正如一句话所说:“安装两小时,编程两分钟”。
由于我使用的是Vivo手机,因此我需要下载并安装Vivo的专用驱动程序包。如果你使用的手机与我的不同,可以参考以下步骤:
如果上面的方法仍然无法解决问题,你可以尝试安装一款兼容性更强的驱动软件,比如“驱动人生”或“驱动精灵”,任选其一即可。
接下来,如果需要在Airtest中输入文字,我们无法直接使用手机的默认输入法,而需要安装并使用Airtest专用的“yosemite”输入法。在安装好手机驱动后,yosemite输入自动下载到你的手机上。只需在手机上安装这个输入法,并将其设置为系统默认输入法即可,如图所示:
完成输入法的设置后,我们就可以在Airtest中输入文字了。有时我们发现鼠标点击可能不太准确,这时可以设置模拟位置。这个选项同样位于开发者选项中,如图所示:
完成所有设置后,我们回到Airtest主界面,应该能看到已连接设备的名称和状态,如图所示:
和模拟器连接一样,这时我们勾选“UseJavacap”选项,并点击连接按钮,设备就成功连接了,如图所示:
除了通过U线连接,我们还可以通过无线方式连接安卓手机。只需要确保手机和电脑在同一个WiFi网络下即可。获取安卓设备的IP地址,可以通过设置页面查看,如图所示:
然后,在Airtest中输入该IP地址进行连接,图示如下:
请注意,默认的端口号是5555。如果你想使用其他端口号,虽然也可以进行连接,但如果该端口无法TCP/IP信息,连接可能会失败。如果需要指定多个端口,输入以下命令即可:
需要注意的是,手机和IDE必须处于同一个WiFi网络中,才能实现远程连接。
完成这些设置后,我们就可以在Airtest中连接安卓设备,进行自动化测试了。具体的代码可以参考以下示例:
记住,连接时安卓设备和IDE必须在同一WiFi网络中,否则无法连接。
今天的分享主要介绍了如何安装和配置Airtest自动化工具,并分析了其界面功能。Airtest的使用方法相对简单,但安装和配置过程确实存在一些坑,特别是对于新手来说,可能需要花费一些时间来搞清楚。希望我的经验分享能够帮助大家顺利上手,轻松应对自动化测试的挑战。下次,我将继续为大家分享Airtest IDE的更多技巧和使用心得。