python运行airtest脚本,airtest自动化测试教程
本文主要介绍pythonAirtest自动化测试工具的使用,通过实例代码详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。
官网from
目录
Airtest介绍了如何入门项目构图。1.安装2。使用3。在当地环境中遇到的问题。使用“pip安装空气测试”进行安装2。IDE在连接不存在的设备或者被占用的设备3时容易假死。假死期间关闭IDE会导致adb驻留4。当试图连接不存在的设备时,即使它们不存在,它们也会被添加到列表4中。最后啰嗦几句关于airtest,全称AirtestProject,是网易游戏推出的自动化测试框架。在这里进行软件测试时,记录安装、使用和维修过程中遇到的问题…
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,自带python环境和Airtest库。支持可视化选择组件测试。缺点是Python环境和自己安装的第三方模块无法在这个IDE中使用,只能重新安装相关模块。
AirtestIDE是先安装使用,很快就可以在官网下载安装使用了。打开IDE,左侧是Airtest辅助窗口和Poco辅助窗口。Airtest辅助窗口可以快速完成截图、识别图像、点击、滑动等操作代码的生成。Poco辅助窗口可以查看应用程序控件树,并快速生成与应用程序控件的操作相关的代码。中间是代码编辑框和日志表单,用于编辑代码和查看输出结果。右边是一个设备窗口,可以用于连接设置和设备选择。选中一台设备后,右边的设备窗口将成为所选设备的当前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环境进行安装,但是pyt
hon3.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发生,比如连接时不要频繁点击,假死关闭时把相应的进程也给清除,连接不上可以重新启动模拟器或者查看相应端口是否被占用等。总而言之,我相信AirtestIDE在之后会进行更多的优化…
到此这篇关于python Airtest自动化测试工具的的使用的文章就介绍到这了,更多相关python Airtest自动化测试内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。