Airtest从入门到掉坑20-29

本文分享了使用Airtest进行游戏自动化测试的经验,包括UI断言、数值验证、图像识别技巧及常见问题解决,强调了命令行接口的重要性,适合游戏测试工程师及自动化测试爱好者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

…………上一篇文章在此…………

20、完了一段时间,感觉有点满足不了我的需求,我的画面是一直是变化的……,关卡很多(动态变化),我去,有没有基于的坐标的呢,哥哥继续体验中…………

断言最重要的是:

第一种断言方式:验证UI界面

a、存在 

b、不存在 

官方的例子写的很好

 

21、断言第二种方式:验证数值

  • assert_equal:断言相等
  • assert_not_equal:断言不等

 

22、我发现Airtest一个bug(1.1.0版),第一次的时候就算识别出来图片,也没有触发touch事件

 

解决办法:使用swipe()方法比较靠谱,后面再继续用touch()方法就行了

 

23、卧槽,Airtest应用崩溃一次,尼玛,工具不成熟啊,坑啊,哥的脚本没保存呢,草泥马

 

24、UI自动化脚本执行的时候,容错要慢慢加上,所以我还要看着

 

25、对着任意一条语句,按下command键(Mac),可以弹出提示

 

26、图像识别看来还是要选择范围大一些,太小了,识别不出来

 

27、动态图像还好说,关键是每个关卡的过关方式都不一样,有的地方需要最优路径,我每次步骤都是一样的,满足不了测试需求,游戏自动化的部分需要步骤更智能,随着关卡的不同,自动选择完全可以模拟人脑,这不是AI自动化测试吗?卧槽,我在做梦……

 

28、查看测试报告,Airtest做了全套,从验证结果,到输出测试报告

mac下是commad + l,输出测试报告

报告中将展示出每一个步骤的内容和实际执行过程的截图、运行结果,方便查看步骤是否执行成功

我截图了一个有问题的

 

29、一直用GUI、那么命令行的支持是必不可少的,其实GUI只是执行操作一种方式,在古老的DOS系统时,命令行怎么能没有呢,都是通过字符串命令来执行某个功能,所以命令行相当重要

你可以使用命令行接口将自动化测试与持续集成结合起来

你可以使用命令行接口将自动化测试与持续集成结合起来

你可以使用命令行接口将自动化测试与持续集成结合起来

没有命令行,持续集成就没有办法用,所以命令行相当重要

03-13
<think>好的,我现在需要处理用户关于Airtest自动化测试框架的查询。首先,用户想要了解使用教程和文档,所以我应该先整理出相关的资源,并按照逻辑结构呈现。 首先,我要回忆用户提供的引用内容。引用[4]详细介绍了Airtest的组成部分,包括AirtestIDE、Airtest、Poco和Testlab,这些是框架的核心组件。用户可能需要知道每个部分的作用,比如Airtest基于图像识别,而Poco基于UI控件。这需要明确区分,避免混淆。 接下来,用户需要教程和文档。引用[1]提到一个系列文章的开篇,指导如何搭建测试框架,这可能是一个不错的起点。同时,官方文档和GitHub仓库是必须提到的,因为这是最权威的来源。引用[2]和[3]也提到安装和使用中的问题,所以应该包括安装步骤和常见问题。 然后,我需要考虑用户可能的实际需求,比如环境搭建、基础操作、脚本编写等。应该分步骤说明,例如安装Python环境,安装Airtest库,使用IDE,编写第一个测试脚本等。示例代码会帮助用户更直观地理解,比如引用[5]中的Poco脚本示例,可以展示如何定位元素。 另外,用户可能遇到的问题,比如环境配置错误或者设备连接问题,应该给出解决方案,如检查ADB连接或重新安装驱动。引用[2]提到遇到的,这部分可以整理成注意事项,帮助用户避免常见错误。 还需要推荐一些学习资源,比如官方教程、社区论坛和视频教程,这些能帮助用户深入学习。引用[1]、[4]、[5]中的实战演练和系列文章可以作为扩展阅读。 最后,生成相关问题时要覆盖用户可能进一步关心的内容,比如环境问题、与其他工具的比较、移动端测试、脚本维护和报告生成。这些问题需要自然关联到已有的信息,引导用户继续探索。 整个过程中,要确保使用正确的中文表达,行内公式和独立公式的LaTeX格式正确,虽然这个问题中可能不需要数学公式,但其他技术术语和代码块要符合格式要求。同时,引用标识要自然地附加在相关段落末尾,确保用户能追溯到来源。</think>### Airtest自动化测试框架使用教程与文档指南 #### 1. **框架简介** Airtest是网易游戏推出的跨平台UI自动化测试框架,支持App、Web和游戏的自动化测试,核心功能基于图像识别和UI控件操作[^4]。其核心组件包括: - **AirtestIDE**:集成开发环境,支持脚本录制、调试和报告生成。 - **Airtest**:基于图像识别的测试框架,适用于Android、iOS和Windows平台。 - **Poco**:基于UI控件树的测试框架,支持Unity、Cocos2dx等游戏引擎和原生App[^4][^5]。 - **Testlab**:云端测试管理平台(需企业版)。 --- #### 2. **官方教程与文档** - **官方文档** - 中文文档:https://airtest.doc.io.netease.com/ - GitHub仓库:https://github.com/AirtestProject/Airtest 文档涵盖从安装到脚本编写的全流程,包含示例代码和API详解。 - **快速入门教程** 1. **安装环境** ```bash pip install airtest # 安装Airtest核心库 pip install pocoui # 安装Poco库(控件操作) ``` 2. **连接设备** - Android:通过ADB连接手机(需开启USB调试)[^2] - iOS:需安装WebDriverAgent(需Xcode环境) 3. **编写第一个脚本** 示例(基于图像识别点击按钮): ```python from airtest.core.api import * connect_device("Android:///") # 连接设备 touch(Template(r"button.png")) # 点击匹配的图片 ``` --- #### 3. **核心功能与实战** - **图像识别操作** - `touch()`:点击屏幕位置或匹配的图片 - `swipe()`:滑动操作 - `assert_exists()`:验证图片是否存在 示例: ```python swipe((500, 1000), (500, 500)) # 从下向上滑动屏幕 ``` - **Poco控件操作(推荐用于App测试)** 示例:点击登录按钮 ```python from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco() poco("com.example.app:id/login_button").click() ``` --- #### 4. **常见问题与解决方案** 1. **设备连接失败** - 检查ADB驱动是否安装 - 重启ADB服务:`adb kill-server && adb start-server` 2. **图像识别不准确** - 提高截图分辨率或调整阈值:`touch(Template(r"button.png", threshold=0.8))` 3. **Poco控件无法定位** - 确保App已集成Poco SDK(原生App无需额外配置) --- #### 5. **进阶学习资源** - **官方系列教程** [《手把手教你搭建基于Airtest的测试框架》](https://example.com) [^1] - **社区论坛** - 官方QQ群:Airtest交流群(群号见文档) - Stack Overflow:搜索`Airtest`标签 - **视频教程** - B站搜索“Airtest自动化测试实战” ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值