UI 自动化找元素太难了?Airtest 框架了解一下
ninehua 2024-12-06 18:08 46 浏览
引言
Airtest 是网易出品的一款基于图像识别和 poco 控件识别的一款 UI 自动化测试工具,网易团队自己开发的一个图像识别框架,让计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神奇的程序。
另外,Airtest 也基于 poco 这个控件搜索框架,这也是网易自家的跨平台测试框架,原理类似于 selenium,通过控件的 name,id 等来定位元素,然后调用函数方法,例如 click(),send_keys()之类的方法来对目标控件进行相关的操作。
这个基于图形化识别的 Airtest Project 解决方案被开发并开源出来之后,十分有效地降低了自动化测试的门槛,真正使自动化测试带来测试效率的提升。Google 表示 Airtest 是安卓游戏最强大、最全面的自动测试方案之一。
所以,这么好用、强大的自动化框架,我们当然要来学一学了!
原理介绍
Airtest 目前集成了 Chrome 浏览器基于 selenium 进行 Web 自动化测试,通过录制得到的 python 脚本,调用 chromedriver 驱动浏览器执行指定动作,所以通过录制后的脚本你会发现应用的就是 selenium 的语法。所以原理下图所示:
安装
AirTest Project 官方网站:http://airtest.netease.com/,去官网找到最新的版本下载即可!
下载好的 AirtestIDE 是免安装的,直接解压后,得到的 AirtestIDE 文件夹已经帮你集成了所有的环境,自带录制脚本栏,自动生成脚本,自带编辑器还自带模拟器,可以直接轻松简单的开始录制脚本了。
界面认识
解压后,到 AirtestIDE 路径下点击“AirtestIDE.exe”即可启动 AirtestIDE。
启动后的界面,通过选择“窗口--->Selenium Window”,就可以显示 selenium 相关的操作控制按钮。具体界面显示如下:
打开后的窗口如图所示:
我们来一个个按钮认识一下它们对应的功能:
- 打开并设置浏览器:
这是浏览器按钮,点击后,即可启动一个被 selenium 驱动控制的浏览器;后续的录制操作也可以通过操作这个启动的浏览器而进行;
启动浏览器之后,会有如下图所示的提示信息出来,点击“Yes”,就可以生成初始化的脚本。
脚本如下图:
Airttest 支持的浏览器默认是 Chrome,当然也支持其他的浏览器,但是这个是推荐,应该是支持的最好,所以推荐使用 Chrome 浏览器。
要使用 Airtest 进行 Chrome 自动化脚本录制于执行前,需要指定 Chrome 浏览器启动的路径,并使 Airtest 内置的 chromedriver 与浏览器版本配套。
Airtest 的最新版本自带较新的稳定版本的 Chromedriver.exe(自行匹配的版本),需要匹配对应的 Chrome 浏览器。通过 Airtest 设置菜单,在 selenium 选项中,设置 Chrome 浏览器安装路径,如图:
这样就可以顺利使用 Chrome 浏览器进行 Web 自动化测试了。
- 打开网页
start_web 按钮就是启动浏览器后打开对应的网页,点击后生成的代码如下:
然后修改括号里的内容为对应的网址,比如打开“百度”的页面,就可以修改如下代码:
driver.get("https://www.baidu.com")
然后运行就可以启动打开该网页的浏览器了!
- 页面其他的操作
我们在做 Web 自动化的时候,经常需要操作页面的标签页的切换以及页面的返回等,所以 Airtest 也有这种常用操作的按钮可以直接进行相关的操作。
比如下图中所示:
切换到上一个页面-previous_tab,点击后就会自动生成如下代码:
切换到下一个新的页面-new_tab,点击后就会自动生成一下代码:
返回上一个页面:back,生成的代码如下:
前进到下一个页面:forward,代码如下:
如果有 Python 自动化基础的同学不难发现,这几个操作生成的代码跟 Python 的代码是差不多的。这里可以直接实现页面的对应的操作,而不需要自己去写代码。
- 录制脚本
Airtest 之所以能很大程度减少我们 Web 自动化的成本,就是因为他能够提供录制的功能!以下的按钮可以跟我们的脚本录制相关。
录制按钮,点击后进行的浏览器的操作,对应的脚本就会被录制下来;
touch 按钮:用于录制点击到的页面元素的点击操作,相当于 click 操作;
text 文本按钮:用于录制文本输入的操作的脚本,相当于 send_keys()操作的;
assert 按钮:用于断言元素是否存在,点击后可以直接生成对应的断言的脚本。
这些录制按钮的具体操作及脚本效果和修改,我们下篇文章再做具体讲解。敬请期待!
本文作者:柠檬班软件测试(lemonban)——专注于最新最前沿的软件测试技术,解决你的测试技术烦恼,对软件测试感兴趣的朋友赶快关注我们吧!
相关推荐
- 我常用的三个剪辑工具 免费功能强大 剪辑视频不再求人
-
今天特意写这篇文章分享一下我在用的三个视频剪辑工具,这三个免费,好用,功能强大,包含了我常用的手机上剪辑的视频软件,电脑端剪辑视频的软件。为什么要写这篇文章呢,还得从早上被一些垃圾剪辑软件给套路了,所...
- macOS绝美流动壁纸!如何免费下载和制作?
-
大家好,我是dairy。我们都曾见识过Apple产品壁纸的惊艳,无论是macOS还是iOS设备壁纸,每更新一版系统版本,就会带来一波新的超美作品。从macOSMojave10.14开始,Mac系统...
- 适用于Windows和Mac的10款最佳照片恢复软件(免费&付费)
-
丢失了您的珍贵照片?让我们看看最好的免费和付费照片恢复软件,用于在Windows和Mac上恢复它们。添加图片注释,不超过140字(可选)丢失照片很容易。一个错误的点击,一个贴错标签的SD卡,然...
- Typora开始收费,介绍几款免费的MarkDown编辑器
-
前两天,一场突如其来的新闻,让本来就不富裕的TJ君更是雪上加霜。什么事情呢?Typora,大家一定都在用吧,作为一款主打免费旗号的Markdown编辑器,Typora一直是很多小伙伴的常备工具之一,...
- Mac端想找一个免费好用的视频播放器?不妨看看IINA
-
今天为大家带来的是一款macOS系统下的视频播放软件介绍,它便是IINA,初识这个软件的时候它应该还刚刚上架GitHub,那时候我用的比较多的Mac端视频播放软件还是VLC。其实对于这类软件,相信大部...
- CotEditor - 免费开源好软件推荐!macOS 上轻量好用的纯文本编辑器
-
mac上一款免费好用的纯文本编辑器,平时看看文档,可以满足类似notepad++这样的工具需求。关于CotEditorCotEditor是一款运行在mac电脑上的轻量级、简洁但功能强大的...
- 坚果云 for Mac(网盘工具)中文免费版
-
推荐一款国内很受欢迎的网盘工具,坚果云forMac提供文件自动同步、数据备份、文件共享、文件搜索、下载、文件自动锁定等实用的功能,让你管理文件更加便捷,而且坚果云网盘支持与手机、平板、网页等设备互...
- 微软发布Mac版Office 2016测试版:免费试用
-
微软发布Mac版Office2016测试版:免费试用新浪手机讯3月6日上午消息,微软公司今日发布适用于苹果Mac电脑的Offic办公套装软件,目前是预览版,用户下载后可免费试用60天。从命名就可...
- 《极限竞速:地平线5》下月登陆PS5,实体版缺失引担忧
-
IT之家3月3日消息,《极限竞速:地平线5》将于4月25日登陆PlayStation5平台,但此次发行将仅以数字版形式推出。游戏开发商PlaygroundGames在X...
- PS5《控制:终极版》新增扩充内容和次世代增强视觉功能
-
GameSourceEntertainment(GSE)宣布,《控制:终极版》已于2月2日以PSN数位版形式登陆PlayStation(R)5平台,而PS5TM《Control》终极版的盒装...
- PS修图插件-DR5高级版人像精修神器重磅来袭
-
设计筱柒设计资源分享10-14无偿领取提示:1、评论随意评论:各抒己见2、学习领取课件私信设计筱柒:想学每天最新的优质资源不容错过哦今天的内容希望可以帮到你~2021最新DR5白金版高级PS扩...
- 蛐蛐下AI 运行photoshop 脚本的失败经历
-
正好最近有图片批处理需求~针对AI结合各种软件提升工作效率的第一个尝试~在成功使用deepseek+豆包+kimi=pptdeepseek+vscode代码助手(自动写代码,原项目自带验证和热启...
- PS5赚疯了!索尼一台主机碾压四代总和,玩家:钱都去哪儿了?
-
阅读之前,麻烦用你发财的小手点点创作不易,感谢大家的支持!每日更新最近,索尼PS5的赚钱能力直接炸裂!数据显示,PS5自2020年发售以来,利润已经突破130亿美元,直接超过了PS1、PS2、PS3、...
- PS Plus PS5会免及Collection免费阵容公开
-
PlayStation公开了11月欧美服PS+会免游戏阵容,PS5游戏《虫子快餐店》首发即加入会免,可在2020年11月12日至2021年1月4日期间领取。除了《虫子快餐店》之外,《中土世界战争之影...
- 开源 Windows 和 Office 激活器, 无需部署直接使用。
-
更多内容请关注我的微信公众号:VistaHub上周写了一篇永久激活Windows和Office的文章,但是需要使用NAS进行部署,给本就门槛不低的激活操作,又增加了不小的难度。今天我发现了一...