air教程,学习Air教程:轻松掌握Air应用开发

一、背景

很多刚入行或从其他行业转行做测试的同学,日复一日每天做点工已经点得疲惫和麻木,觉得做测试和在厂子里打螺丝没太大区别。也想着做一做自动化测试,奈何自己看着代码就头痛,当初就是因为不喜欢编程才选择的做测试。亦或者由于从其他行业转行过来的,隔行如隔山,编程太痛苦。

那么今天杨叔就给大家介绍一款无需编程知识也可以轻松编写自动化测试脚本的工具:Airtest,带各位早日脱离苦海!喜欢的宝子们不要忘了随手关注、点赞!

二、什么是Airtest

Airtest是一个跨平台的、 基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Mac、Android和iOS。

官网地址:http://airtest.netease.com/官方文档:https://airtest.doc.io.netease.com/

除了Airtest图像识别框架之外,还支持Poco框架,Poco 是一款 基于UI控件识别 的自动化测试框架,也就是常规的通过元素定位识别来完成自动化。目前支持Android原生、iOS原生、Unity3D、cocos2dx、UE4和Egret等平台,也可以在其他引擎中自行接入poco-sdk来使用。

虽然提供了这样的能力,但元素定位方式存在的两个通用缺点:元素位置识别&维护成本高、代码编写效率不高。而如果确实需要使用UI控件识别方案来做自动化的话,web端有Selenium,移动端有Appium,PC桌面端有Pywinauto, 都足够强大且网上各类文档更加丰富,更适合针对性的学习和使用。

因此本文的主角还是Airtest,学习成本低,上手编写脚本快,入门使用无需编程代码知识,即可快速完成大量测试脚本编写。此外当常规UI自动化无法或者很难识别定位元素时,也可利用Airtest图像识别的特性,来解决自动化测试难题。

最后Airtest基于Python,写出来的所有脚本都是Python代码,除了入门级使用之外,也可以进一步使用python做扩展和二次开发,对测试开发同学非常友好。

三、Airtest下载安装

进入官网,Windows 64位系统直接点击下载按钮下载WINDOWS(64BIT)版本即可:

注册登录账号那一步可以点击“Skip”跳过,不登录同样可以正常使用。进入后页面如下:

2、连接成功后,会发现左侧“Airtest辅助窗”下方的按钮都变为了可点击状态。鼠标悬停在对应的按钮上,会显示按钮的参数使用说明,如下图:

5、接下来就非常简单了,使用“Airtest”辅助窗下面的各个功能即可快速实现你要测试的场景。Airtest常用按钮说明:

touch:点击操作text: 输入文本操作sleep:睡眠操作,单位是秒exists: 是否存在,返回true or false,用于编写逻辑判断代码时使用assert_exists: 断言是否存在,用于测试断言使用snapshot:截屏并保存为文件4.2 具体测试场景案例:

比如测试需求是:搜索指定歌曲:孤勇者,并选择陈奕迅版本,进行播放。我们先来看一下最终用airtest实现的效果:

下面我们来看详细实现步骤:

1、第一步是:点击搜索框。在Airtest IDE中点击touch按钮,框选上QQ音乐搜索框图片,选完图片后可以看到IDE中脚本已经生成:

输完文字后,点击搜索图标执行搜索操作:

3、第三步:点击陈奕迅版本的孤勇者,进行播放。touch框选上图片:

实际效果是并没有触发双击效果,因此一种解决方案是:单击一次后会出现播放按钮,我们再点击一次播放按钮。另一种解决方案是:使用另外一个函数double_click,则会触发双击效果:

注意:由于搜索出来有很多版本的“孤勇者”歌曲,因此有很多其他版本的“孤勇者”歌曲图片和我们截取的图片相似。而airtest图片识别默认的阈值是0.7,即70%匹配就认为匹配上了。

因此如果出现偶尔会点击到其他版本的“孤勇者”歌曲的情况,可以在Airtest IDE中双击该图片,设置该图片的识别匹配阈值为0.9,提高为90%匹配才算匹配上,就可以解决这个问题:

五、总结

至此,脚本就编写完成了。总结一下测试步骤:1、点击QQ音乐搜索框2、输入歌曲名称:孤勇者3、点击搜索按钮4、双击陈奕迅版本的孤勇者播放音乐

对应Airtest脚本如下:

结论:所见即所得,只需要按照你的测试步骤,鼠标框选对应的图片去录制一遍,即可实现自动化测试效果。整个过程很好理解,也不需要有什么编程知识,妈妈再也不用担心我不会编程,就无法做自动化测试了。赶紧去试试吧!

当然,实际工作中的自动化测试场景,有的会比上面的这个场景复杂得多,那么作为一款优秀的自动化测试软件,自然也是要具备应对更复杂场景的能力。本文只是作为入门篇,让没有用过的同学先入门,后面杨叔会再出进阶篇,介绍airtest的更多高级用法,解决实际工作中可能会碰到的各类难题,喜欢的宝子们记得搜索关注杨叔的微信公众号【程序员杨叔】,持续分享各类原创测试开发知识!

关注公众号:lmcjl_com(长按复制)

本文来自作者:俗野.,不代表懒猪博客立场!

转载请注明:https://my.lmcjl.com/209483.html

本文链接:https://my.lmcjl.com/post/15305.html

展开阅读全文

4 评论

留下您的评论.