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

server/2025/2/23 2:31:18/

在现代软件开发流程中,自动化测试>自动化测试和持续集成(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
    

    在这里插入图片描述

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

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


http://www.ppmy.cn/server/170009.html

相关文章

Python爬虫-猫眼电影的影院数据

前言 本文是该专栏的第46篇,后面会持续分享python爬虫干货知识,记得关注。 本文笔者以猫眼电影为例子,获取猫眼的影院相关数据。 废话不多说,具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,跟着笔者直接往下看正文详细内容。(附带完整代码) …

微信小程序通过http通信控制庐山派

首先要形成同一个局域网才能够实现 这是微信小程序的代码 Page({ data: { isConnected: false, // WiFi连接状态 serverUrl: http://192.168.1.225:8081/command // 服务器地址 }, onLoad() { this.authorizeLocation(); }, // 授权地理位置 authorizeLocation() { wx.author…

ubuntu22.04离线安装K8S

1. 准备离线安装包 参考教程离线包准备教程 2. 准备环境 2.1. 准备主机 主机名ip系统k8s-master192.168.38.128ubuntu22.04k8s-node192.168.38.131ubuntu22.04 2.2. 设置host 修改 /etc/hosts 文件,添加master和node节点,需要和主机名保持一致 2…

若依-@Excel新增注解numberFormat

Excel注解中原本的scale会四舍五入小数,导致进度丢失 想要的效果 显示的时候保留两个小数真正的数值是保留之前的数值 还原过程 若以中有一個專門的工具类,用来处理excel的 找到EXCEL导出方法exportExcel()找到writeSheet,写表格的方法找到填充数据的方法…

信创浪潮下,以 OpManager筑牢安全运维防线

在数字化转型加速和国际形势复杂多变的当下,信创产业的重要性愈发凸显。信创,即信息技术应用创新,旨在实现信息技术领域的自主可控,涵盖从芯片、操作系统、数据库到应用软件等一系列关键技术和产品。它不仅是推动产业升级的重要力…

微软宣布 Windows 11 将不再免费升级:升级需趁早

大家都知道如果你现在是Windows 10 系统,其实可以免费升级到正版 Windows 11,只要你的电脑配置满足 TPM2.0要求。 而最近微软已经公布了 Windows 10 的最后支持时间,也就是今年10月14日,在这之后微软将不再对Windows 10负责&#…

IntelliJ IDEA 控制台输出中文出现乱码

IntelliJ IDEA 控制台输出中文出现乱码通常是由于编码设置不一致导致的。以下是常见原因及解决方法 1. 项目编码设置 检查路径:File → Settings → Editor → File Encodings 确保 Project Encoding、Global Encoding 和 Default Encoding for Properties Files 均…

H3C交换机路由器防火墙FTP/TFTP服务器搭建。

软件介绍。 3CDaemon 2.0 - Download 3CDaemon 是一款集成了多种网络服务功能的工具软件,主要用于网络管理和文件传输,支持TFTP、FTP、Syslog等多种协议,广泛应用于网络设备的配置和管理。 1. 主要功能 TFTP服务器:支持TFTP协议…