Airtest与持续集成(CI)工具的集成实操案例

在现代软件开发流程中,自动化测试和持续集成(CI)工具的结合已经成为不可或缺的部分。Airtest作为一款优秀的自动化测试工具,结合持续集成(CI)工具,可以大大提升测试效率和开发质量。本文将详细介绍如何将Airtest与CI工具进行集成。

什么是Airtest?

Airtest是一款基于图像识别的自动化测试工具,可以用于Android、iOS以及Windows平台的应用测试。Airtest使用图像识别技术,在测试过程中通过截图比对来模拟用户操作,如点击、滑动等。它的测试脚本使用Python语言编写,易于维护和扩展。

什么是持续集成(CI)?

持续集成(CI)是一种软件开发实践,开发者经常将代码集成到主干,每次集成都通过自动化的构建和测试来验证。常用的CI工具包括Jenkins、GitLab CI、CircleCI等。通过CI工具,可以在每次代码提交后自动进行构建、测试和部署,从而提高开发效率和软件质量。

为什么要将Airtest与CI工具集成?

将Airtest与CI工具集成可以实现以下几点好处:

  1. 自动化执行测试
  2. 实时反馈
  3. 提高效率

Airtest与Jenkins的集成方法

下面以Jenkins为例,介绍如何将Airtest集成到CI工具中。

环境准备

  1. 安装Jenkins:在服务器上安装并配置好Jenkins。可以从Jenkins官网下载并安装。
  2. 安装AirtestIDE:在测试机器上安装AirtestIDE。可以从Airtest官网下载并安装。
  3. 配置Jenkins节点:确保Jenkins能够访问测试机器。可以通过SSH或者其他方式连接。

配置Airtest脚本

  1. 编写Airtest脚本:在AirtestIDE中编写自动化测试脚本,并确保脚本可以正常运行。
  2. 保存脚本:将Airtest脚本保存到项目的代码库中,以便后续在Jenkins中调用。

配置Jenkins任务

  1. 创建新任务:在Jenkins的主页中,点击"新建任务",输入任务名称,并选择"构建一个自由风格的软件项目"。
  1. 配置源码管理:在任务配置页面中,配置源码管理,选择代码库类型(如Git),并输入代码库地址和凭证

  2. 添加构建步骤:在"构建"部分,添加一个"执行Shell"脚本的构建步骤。脚本内容如下:

    python 复制代码
    # 切换到Airtest脚本的目录 
    cd /path/to/your/airtest/scripts 
    # 执行Airtest脚本 
    airtest run your_test_script.air

    这里需要根据实际情况修改脚本路径和脚本名称

  3. 配置构建触发器:配置触发机制,如"构建触发器",可以选择"Poll SCM",设置定时检查代码库的更新,也可以选择"GitHub hook trigger for GITScm polling"来实现代码提交后自动触发构建。

  4. 保存配置:配置完成后,点击"保存"按钮保存任务配置。

运行任务并查看结果

  1. 手动触发任务构建过程是否能正常执行。
  2. 查看构建日志:在任务页面中,点击最新的构建号,进入构建详情页。点击"控制台输出"查看构建日志,确认Airtest脚本是否成功执行。如果有错误信息,可以根据日志进行排查和修复。
  3. 自动化触发:如果配置了自动触发机制,可以在代码库中进行一次代码提交,观察Jenkins是否会自动触发构建,并进行Airtest脚本的执行。

配置测试报告

为了更好地了解测试结果,可以将Airtest脚本生成的测试报告集成到Jenkins中。Airtest默认生成的是HTML格式的报告,可以通过Jenkins的HTML Publisher插件发布报告。

  1. 安装HTML Publisher插件:在Jenkins的管理页面中,点击"管理插件",搜索并安装"HTML Publisher Plugin"。

  2. 配置发布测试报告:在任务配置页面的"构建后操作"部分,添加一个"Publish HTML reports"操作。

  3. 配置报告路径:在"HTML directory to archive"中,输入Airtest生成报告的目录路径。在"Index page[s]"中,输入报告的入口页面(通常是log.html)。

  4. 保存配置:点击"保存"按钮保存任务配置。

运行并查看测试报告

  1. 再次触发构建:手动或自动触发一次构建。构建完成后,Jenkins会自动发布Airtest生成的HTML测试报告。
  2. 查看测试报告:在构建详情页面,点击"HTML Report"链接,即可查看详细的测试报告。

注意:

如果构建完后的报告为空,则可能是HTML Publisher Plugin 1.10以上版本出现的内容安全性问题,需要在【Manage Jenkins】-【Script Console】输入并运行以下内容

复制代码
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

总结

通过以上步骤,我们成功实现了Airtest与Jenkins的集成。每次代码提交后,Jenkins会自动触发Airtest脚本进行自动化测试,并生成详细的测试报告。这套流程可以显著提高测试效率,减少手动操作,提高软件质量。

当然,除了Jenkins之外,GitLab CI、CircleCI等其他CI工具也可以通过类似的方式与Airtest进行集成。希望本文能够帮助到需要进行自动化测试和持续集成的开发者们,让你们的开发流程更加高效和可靠。如果你有其他问题或建议,欢迎在评论区留言交流。

相关推荐
视界先声12 小时前
2025年GEO自动化闭环构建实践:监测工具选型与多平台反馈机制工程分享
大数据·人工智能·自动化
科士威传动12 小时前
丝杆支撑座同轴度如何安装?
人工智能·科技·机器学习·自动化
个微管理14 小时前
告别多手机切换烦恼,无需下载安装软件的CRM管理系统
微信·智能手机·自动化·微信开放平台
我送炭你添花14 小时前
Pelco KBD300A 模拟器:06+2.Pelco KBD300A 模拟器项目重构指南
python·重构·自动化·运维开发
企微自动化15 小时前
自动化报表生成:将 RPA 采集的群聊数据自动整理为可视化周报
运维·自动化·rpa
陈希瑞16 小时前
【保姆级教程】安卓手机免Root一键部署AutoGLM:支持语音控制与自动化操作
android·智能手机·自动化
开利网络16 小时前
从“流量”到“留量”:长效用户运营的底层逻辑
大数据·运维·人工智能·自动化·云计算
莫白媛16 小时前
浅谈Linux部分语法(从基础操作到自动化编程的三个层次)
linux·运维·自动化
雾江流17 小时前
肉包 1.4.0 | 豆包AI手机平替,开源免费,AI自动化
运维·人工智能·自动化·软件工程
Tel1992530800417 小时前
CCD相机同步外触发拍照抓拍识别高速脉冲计数器信号采集模块
单片机·数码相机·物联网·自动化·工业自动化·仪器仪表