AirtestIDE基本功能(一)

上期回顾:AirtestIDE环境安装


上次我们已经介绍了AirtestIDE如何安装,下面我们启动AirtestIDE来看看里面都有哪些功能呢?

Airtest辅助窗(左上):这里主要是用来生成airtest框架中的代码的。

Poco辅助窗(左下):这个主要是用来抓取元素信息的,类似于Chrome F12查看Web元素、Appium Inspector查看App元素,并且可以生成Poco框架代码。

脚本编辑窗(中上):用来编写自动化代码,和所有IDE的相关功能类似。

Log查看窗(中下):代码不运行的时候用来显示Poco辅助窗选定元素后的所有信息;代码运行后显示程序运行时代码。

设备窗(右侧):连接设备,如已连接则同步显示设备画面。

下来我们详细到每一处细节来讲讲怎么使用。

设备窗

图片

安卓:
插入手机后,设备列表会自动刷新,显示PC上的设备。点最右侧的箭头,可以选择连接参数(后面文章会详细介绍)。
如果设备列表没有自动刷新,可以点‘刷新ADB’手动刷新。
如果ADB卡死等情况,可以点‘重启ADB’,对应adb命令adb kill-server + adb start-server
如果手机是插在服务器上,不在本机,可以通过‘远程设备连接’(后面文章会详细介绍)

Windows&iOS
同样的,如果是Windows上的应用或苹果手机,则可分别在下面连接(后面文章会详细介绍)

图片

看一下连接设备以后的样子,会实时显示手机屏幕,并且可以点击、滑动操作。
最下面依次是:菜单键、Home键、返回键、电源键

最上面的工具图标,点击可弹出设备窗菜单:
控件面板:点击会切换显示设备列表,我们可以继续连接第2台手机,airtest是可以同时连接并操作多台手机的。切到设备列表后,再点工具按钮,可以切回手机投屏显示。

断开当前设备:点击后会断开与该设备的连接。

显示Android助手:点击打开助手,里面是一些常用adb命令的界面化操作(后面文章会详细介绍)

Airtest辅助窗

touch:图片识别点击操作,鼠标指向touch按钮后会提示具体的使用方法。使用方法:点击‘touch’按钮,在手机屏幕上拖动选取点击的图片,在代码编辑窗会自动生成代码。

图片

wait:等待图片出现。同touch一样,在屏幕上选择图片。

swipe:滑动操作。使用方法:点击‘swipe’按钮,在手机屏幕上拖动选取要识别的图片,选择完后,在向要滑动的地方点击一下。如图

图片

swipe代码执行时会找到Git图片,向下滑动。

exists:判断图片是否存在,返回True或False。使用方法同touch。

text:输入文字。

keyevent:模拟按键,如HOME键,返回键,菜单键

snapshot:截图

sleep:等待

assert_exists:断言图片存在。使用方法同touch。

assert_not_exists:断言图片不存在。使用方法同touch。

assert_equal:断言相等

assert_not_equal:断言不相等

图片

图片模板生成:点击有小剪刀的按钮,再去拖选图片,就可以生成一个图片模板对象,就是touch语句中嵌套使用的那个图片模板对象。

录制:点击后,去投屏上操作,可实时生成airtest代码。不推荐使用,自动生成截取的图片不好用。

Poco辅助窗

我们以Unity游戏App为例,在下拉框中选择Unity。
App下载地址:
http://top.gdl.netease.com/poco-res/poco-demo-unity-game-android.zip

此时脚本编辑区会提示是否插入Poco初始化代码,我们点Yes。

 

选模式后,airtestIDE会拉取元素树(每过几秒都会拉取最新元素),我们单击某个元素,Log查看窗会显示该元素详细信息,投屏会高亮所选元素。

模式下拉框下面的搜索框,可以按元素name过滤。

双击元素或右击元素选择‘UI path-code’,会自动生成元素对象代码。

模式下拉框右侧依次是冻结按钮、检视按钮、录制按钮:
冻结:点击后,投屏会冻结,元素树也不再更新。因为游戏很多都是动画的,定住当前画面以方便查看当下元素信息。

检视:点击后,鼠标可在投屏实时查看元素信息

此时在投屏上右击,可以列出当前点上的所有元素。很多时候元素是叠加在一起的,无法选择,就可以通过此方法选取。

 

录制:点击录制按钮,再去投屏上点击,即可实时生成Poco操作代码。

在投屏上右击,也可快速切换普通/检视/录制功能。

 

UI树常见问题:

为什么我选择了Poco模式后,没有成功刷出UI树
目前除了Android原生App无需接入SDK即可直接使用之外,其余引擎都需要事先 接入SDK 才能获取到UI结构信息(游戏没有事先接入SDK是无法直接看到UI树的)

为什么接入了SDK、使用了原生App依然看不到UI树
在Poco初始化时,会向手机中安装相关的apk,请务必保证手机允许了相关apk的安装。部分型号的手机需要在设置中开启“允许通过ADB安装应用”等相应选项才能进行安装。

部分厂商的手机需要额外的设置,例如需要手工在输入法选项中,将Yosemite输入法设置为默认,详情请参考:
https://airtest.doc.io.netease.com/IDEdocs/device_connection/2_android_faq/#id7

UI树在一段时间后没有正确刷新
可以尝试先将Poco模式选项的下拉菜单改为 Stop,再重新选择你所需要的模式,例如 Android, IDE将重新建立与手机的Poco通信连接。

有时候也可能因为手机内存不足,手机自动将后台的pocoservice进程关闭了,导致连接断开,这种情况建议尝试换一台配置更好的手机重试。

脚本编辑窗

在这里编写代码,没啥好说的。说下右击后的菜单:

图片

撤销、重复、复制、粘贴没啥好说的。
只运行选中代码:一个脚本假如你写了100行,运行时因为第90行代码写错了,运行失败。你修改第90行后,如果从头开始运行,太浪费时间,此时你可以选中最后10行,点‘只运行选中代码’,就可以只运行最后10行代码了,是调试的好工具。

图片/代码模式切换:通过IDE生成的图片相关的代码,为了直观都是显示的图片。但当你要修改代码或在Pycharm中编写代码时,就要用到代码模式了。

 

下面再来看看代码窗的菜单:

  • 点击+号,是新建脚本

  • 点下拉箭头,依次是:
    打开当前项目目录
    打开报告文件目录
    导出报告(导出后可发给别人)
    压缩当前脚本.zip
    清理多余图片(录制生成的图片相关的脚本,代码删除后,图片就没用了)
    文件异常恢复

Log查看窗

显示log的地方,重点说2个功能。
1.每次运行脚本,log的最开始都会自动生成运行命令。这个命令可以脱离IDE放在命令行运行。
2.点右侧过滤按钮,可以按级别过滤日志。

好了,本次主要介绍了airtestIDE的主界面上的所有功能,下期会继续介绍IDE的菜单栏和工具栏。

 

---------------------------------------------------------------------------------

关注微信公众号即可在手机上查阅,并可接收更多测试分享~

posted @ 2021-04-04 18:25  ☆星空物语☆  阅读(664)  评论(0编辑  收藏  举报