千家信息网

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

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,小编给大家分享一下python中Airtest自动化测试工具怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Airte
千家信息网最后更新 2025年01月31日python中Airtest自动化测试工具怎么用

小编给大家分享一下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界面如下图所示。

二、使用

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

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

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

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…

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

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

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

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

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

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

四、最后啰嗦几句

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

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

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

设备 测试 代码 自动化 版本 支持 环境 脚本 项目 应用 截图 框架 编辑器 辅助 内容 官方 控件 方式 有时候 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大多数软件开发人 无锡信息网络技术服务 和龙软件开发品牌 软件开发公司要交哪些税 河南租用服务器虚拟主机 厦门财务软件开发选哪家 维西县公安局网络安全大队 小公司一般用什么文件服务器 对于做好网络安全防护的个人看法 襄阳做软件开发的竞争大吗 济南服务好的浪潮服务器店面 网络安全信息主题手抄报 中信源网络安全管理 网络安全昆明 宣传部保障网络安全 合金设计基础数据库 p2p网络技术具有 把数据库部署在docker 服务器主板可以连接机顶盒吗 代理服务器能访问屏蔽的网站吗 沈阳服务器工作站回收 上海网络软件开发服务哪个好 中电28所软件开发在哪里 厦门财务软件开发选哪家 阿里云esc服务器首次登陆密码 什么叫计算机网络技术专业 数据库实体关系图 湖北教育云网络安全测试在哪里 在香港做软件开发 四川瑞豆互联网科技公司
0