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

embedded/2025/2/22 22:54:17/

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

相关文章

【QT】QtBluetooth 低功耗蓝牙BLE 笔记

前言, 最近发现笔记本的蓝牙可以被qt调用, 然后直接连接蓝牙模块, 不一定非要手机蓝牙app或是另一个蓝牙模块转usb. 1.环境要求 注意,因为电脑环境/版本等原因,你可能会遇到很多文本没提到的问题,不要慌,csdn查一下就好.我也会把配置过程中遇到的典型问题列出来. PC电脑, 系统w…

短视频平台“封号圈”乱象猖獗,IP查询技术助力整治

2月16日,澎湃新闻报道,小浩辛苦运营的账号,拥有5000多粉丝和400多条视频,却在一瞬间被陌生人恶意举报下架。更令人气愤的是,现在各大平台上竟然公然叫卖“封号圈”相关视频,提供“付费封号”“付费收徒”等…

多目标蜻蜓算法-MODA-可用于(云计算资源分配/交通信号控制/网络路由优化)

多目标蜻蜓算法(Multi-Objective Dragonfly Algorithm,MODA)是一种基于群体智能的优化算法,主要用于解决多目标优化问题。以下是对其的详细介绍: 具体完整算法请跳转:多目标蜻蜓算法-MODA-可用于&#xff0…

在VSCode中接入deepseek

注册就送14元2000万tokens。 https://cloud.siliconflow.cn/i/rnbA6i6U各种大模型 下面介绍我是如如接入vscode的 左边生成一个key,呆会vscode要用,不然401. 打开vscod,电脑能上网。下插件。 下好要配置 点它一下。 要配置,全…

金属色渐变在UI设计中怎么用?

金属色渐变在UI设计中可以通过以下方式应用: 1. 按钮与图标 金属色按钮:使用金属色渐变可以为按钮增添质感和现代感。例如,可以使用金色或银色的渐变效果,使按钮看起来更加高档和吸引人。通过添加高光和阴影效果,可以…

氧化锆(化学式ZrO₂)在多个工业领域发挥重要作用京煌科技

氧化锆(化学式ZrO₂)作为锆元素的主要氧化物,凭借其独特的物理化学特性在多个工业领域发挥重要作用。该材料具有化学惰性强、熔点高(2715℃)、电阻率优异(10^15 Ωcm)、折射率显著(2…

Linux(ubuntu) GPU CUDA 构建Docker镜像

一、创建Dockerfile FROM ubuntu:20.04#非交互式,以快速运行自动化任务或脚本,无需图形界面 ENV DEBIAN_FRONTENDnoninteractive# 安装基础工具 RUN apt-get update && apt-get install -y \curl \wget \git \build-essential \software-proper…

文心一言大模型的“三级跳”:从收费到免费再到开源,一场AI生态的重构实验

2025年2月,百度文心大模型接连抛出两枚“重磅炸弹”:4月1日起全面免费,6月30日正式开源文心大模型4.5系列。这一系列动作不仅颠覆了李彦宏此前坚持的“闭源优势论”13,更标志着中国AI大模型竞争进入了一个全新的阶段——从技术壁垒…