此文章来源于项目官方公众号:“AirtestProject”

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

在现代软件开发流程中,自动化测试和持续集成(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” 脚本的构建步骤。脚本内容如下:

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

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

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

  2. 保存配置:配置完成后,点击 “保存” 按钮保存任务配置。

运行任务并查看结果

  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 进行集成。希望本文能够帮助到需要进行自动化测试和持续集成的开发者们,让你们的开发流程更加高效和可靠。如果你有其他问题或建议,欢迎在评论区留言交流。


AirtestIDE 下载:airtest.netease.com/

Airtest 教程官网:airtest.doc.io.netease.com/

搭建企业私有云服务:airlab.163.com/b2b

官方答疑 Q 群:526033840


↙↙↙阅读原文可查看相关链接,并与作者交流