文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python中Airtest自动化测试工具怎么用

2023-06-29 03:09

关注

小编给大家分享一下python中Airtest自动化测试工具怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Airtest的官网介绍项目构成

Airtest:是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS
Poco:是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk来使用
源码
AirtestIDE:跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写Airtest和Poco代码。
AirLab:真机自动化云测试平台,目前提供了TOP100手机兼容性测试、海外云真机兼容性测试等服务,请访问官网以了解更多

如何上手?

项目基于Python,因此写出来的所有脚本都是Python代码,建议在使用前,先学习Python的基础语法知识。
在编写自动化脚本时,可以配合官方提供的AirtestIDE编辑器,能够快速编写脚本。
自动化脚本,以及Airtest和Poco,都是基于Python的,因此也可以使用自己喜欢的Python编辑器来编写脚本

一、安装

Airtest有两种安装方式,一种是下载安装AirtestIDE,该IDE自带一个python环境和Airtest库。支持可视化选取组件测试。缺点就是你自己安装的Python环境和第三方模块无法在这IDE中使用,只能重新安装相关模块。

在使用中先是安装了AirtestIDE,在官网很快就可以下载安装使用。打开IDE,左边是Airtest辅助窗口和Poco辅助窗口,Airtest辅助窗口可以快速完成截图识别图片加点击、滑动等操作代码的生成。而Poco辅助窗口可以查看应用控件树,快速生成与应用控件操作的相关代码。中间则是代码编辑框和Log窗体,用于编辑代码和查看输出结果等信息。右边是设备窗口,可以进行连接设置和设备选定,当选定设备后,右边的设备窗口将会变为被选定设备的当前UI界面。IDE界面如下图所示。

python中Airtest自动化测试工具怎么用

二、使用

可以从官网的介绍了解到Airtest采用了图形脚本语言Sikuli的思路,使用者不需要一行行的编写测试的代码,而是用截图的方式生成相关的操作代码(当然熟悉相关Api的也可以用手写代码方式)。下图所示为通过截图实现的小Demo。

官方文档: https://airtest.doc.io.netease.com/

python中Airtest自动化测试工具怎么用

三、在本地环境中使用及遇到的问题

1.使用"pip install airtest" 进行安装

项目支持Python(2.7或<=3.6)的运行环境,官方更推荐使用 Python3。在实践过程中, 起初没有在意这个python版本的问题,仍坚持使用了python3.8环境进行安装,但是python3.8及以上版本是不能正常安装。安装时会报如下错误:

ERROR: Could not find a version that satisfies the requirement opencv-contrib-python<=3.4.2.17 (from airtest) (from versions: 3.4.8.29, 3.4.9.31, 3.4.9.33, 4.1.2.30, 4.2.0.32, 4.2.0.34)
ERROR: No matching distribution found for opencv-contrib-python<=3.4.2.17 (from airtest)

因为Airtest依赖的opencv-python的版本要小于3.4.2.17,而python3.8只能安装版本大于3.4.2.17的opencv-python库,即使你下载了opencv-python 3.4.2.17版本以上的whl文件进行本地安装也是行不通的,安装的时候python3.8的环境下会报error提示不支持安装此版本的opencv。
解决方法:可以安装两个版本python,使用时进行切换环境;或者降低python版本;或者直接使用AirtestIDE&hellip;

2.IDE连接不存在设备或被占用设备容易假死

在进行远程连接时,如果尝试连接一个不存在的设备,或者已经被占用的设备,会造成IDE几秒假死;

python中Airtest自动化测试工具怎么用

3. 假死期间关闭IDE会造成adb驻留

在IDE假死期间关闭IDE,则adb有可能不会正常退出造成驻留,造成再开一次IDE又会唤起一个新的adb进程。这个情况是偶发性的,有时候能在假死的时候复现出,有时候不能。

python中Airtest自动化测试工具怎么用

4.尝试连接不存在设备时,即使设备是不存在的也会加入列表

当尝试连接不存在设备时,即使设备是不存在的也会加入列表,状态显示的是offline。通常来说,通过 adb devices命令应该可以查看到连接的设备,不知道这样显示是不是有别的用意。除此之外,模拟器是需要进行adb connect才能在IDE中进行操作的。因此,还遇到了有时候进行连接时,会出现即使设备在线(已经确定端口没被占用),也是显示offline。

python中Airtest自动化测试工具怎么用

四、最后啰嗦几句

AirtestProject作为近几年开发的移动自动化测试框架来说,其特点可谓鲜明。其一,支持跨平台;其二,对于原生应用、Hybird应用、Web应用都有很好的支持度,还支持移动游戏测试。其三,采取图形脚本语言Sikuli的思路,通过相应的IDE可以选取动作加截图实现代码的编写。同时项目在Github上开源,Issue有较好的活跃度。

在实际使用过程中,健全的开发者文档帮助解决了很多问题。虽然内容后面描述了很多IDE的BUG, 并不意味着AirtestProject不是一个好的自动化测试框架。毕竟IDE只是一个编辑器,不代表项目本身。相反,Airtest的各种特性让其表现出色。使用AirtestIDE让人快速上手开发的特点也不会因为这些BUG表现很糟糕。在使用时可以通过一些操作避免BUG发生,比如连接时不要频繁点击,假死关闭时把相应的进程也给清除,连接不上可以重新启动模拟器或者查看相应端口是否被占用等。

以上是“python中Airtest自动化测试工具怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯