软件测试下的AI之路(3)

news2025/1/12 1:06:23

在这里插入图片描述

 
 

在这里插入图片描述
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【Austin_zhai】
🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。
💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。

在这里插入图片描述

 
 

阅读目录

  • 1. 前言
  • 2. CI/CD集成
    • 2.1 插件配置
    • 2.2 mabl配置
    • 2.3 Jenkins配置
  • 3. 后话

1. 前言

在这里插入图片描述
  随着科技日新月异的发展,人工智能正逐渐渗透到我们生活的各方各面,从智能语音助手到自动驾驶汽车,从智能家居到人脸识别技术,AI正以其卓越的智能和学习能力引领着新时代的发展方向。在这个快速演进的时代中,软件测试领域也受到了不小的冲击。虽然在当下,传统的软测技术仍然是绝对的主力,但是身为IT行业中的一员,近几年AI的全新业务体验与其超强的算力所带来的震撼感受也应该远超其他行业。所以为了跟上时代的步伐,作为软测的大家是不是也应该考虑如何让AI辅助我们更加完整高效的完成日常的各类质量保障工作呢?

  上一期我们介绍了mabl平台的整体功能与测试业务核心玩法,那么既然作为一个自动化测试服务平台,怎么能少了与CI/CD之间的集成场景呢?今天就由我继续来为大家介绍一下如何在CI/CD中有效集成并使用mabl平台。

 
 

2. CI/CD集成

在这里插入图片描述
  作为DevTestOps工作流中极其重要的一环,如何将CI/CD更加灵活完善的融入项目交付中的各类场景,一直是广大公司与团队的一项持久课题。而依托于现在一些主流的CI/CD软件的强大兼容性与接入能力,mabl自身的强大测试能力可以灵活被运用起来,在部署过程中集成mabl平台,那么相关的测试代码部署到 CI/CD 管道中的托管环境后就可以立即在多个浏览器中测试端到端用户体验。针对于测试活动中存在多个环境的情况,那么就更适合使用此类的集成方式了,因为它本身就是可以集成在CI/CD中进行跨环境运行测试任务。

  这里主要以目前主流的jenkins为介绍对象,其他的CI/CD软件环境本期暂不介绍。

 

2.1 插件配置

  我们进行环境集成前需要先下载jenkins中的mabl插件,具体的地址为:mabl Jenkins 插件

  此插件可以帮助我们在自己团队的jenkins环境中运行mabl平台服务,并针对mabl服务进行一些灵活的调整。
 
在这里插入图片描述

  安装的时候需要注意Java的版本不能低于8,Jenkins的版本不能低于2.319.1,不然在安装的步骤就会报错。

  安装的步骤与其他的jenkins插件相同,通过GUI或CLI中输入命令都可以,或者在上面给出的链接中下载完上传到你的Jenkins实例。

  安装完毕后,为了让jenkins可以顺利的接入mabl的服务,我们需要先配置一下mabl的API key。进入mabl选择侧边栏的Settings,进入后点击右侧画面的APIS选项,这个是管理所有API key的地方。点击Create API Key按钮,这里因为是用于CI/CD环境集成调用使用,类型一定不能选错哦。

在这里插入图片描述

  完成后我们可以在API Keys列表中看见我们刚创建的API Key信息,具体的密钥值可以点击记录中的眼睛图标显示。

在这里插入图片描述

  有了对应类型的API Key之后,我们就可以在Jenkins中创建对应的凭证,记得创建的时候要选择全局凭证,类型选择Secret text,ID随意,Secret内填入刚才在mabl中创建的密钥值即可。
在这里插入图片描述
 

  这里需要注意的是,如果你的本地自动化测试环境与CI/CD中的不一样,前几期文章中提到的mabl的对应测试程序环境与测试用例中的被测对象一定要按照实际情况进行修改,以防出现换了个环境用例全部都跑不通的情况出现。具体的设置方法之前已经介绍过了,需要的同学可以去前几期看一下,这里就不再展开介绍了。

 

2.2 mabl配置

  接下来我们为了顺利在Jenkins中出发mabl的任务,获取mabl中对应应用程序的ID则是必不可少的,这里可以理解为在Jenkins中触发mabl中的测试用例集,就必须调用对应被测对象的所属mabl应用ID,这个对应的ID可以在mabl的Settings中的workspace标签找到。
 
在这里插入图片描述

  同样的,如果要获取资源的ID或者应用程序的ID,我们也可以在Tests中点击某一个测试用例集界面上方的命令行按钮。
 
在这里插入图片描述

  这里同样会显示出测试用例集的ID和应用程序的ID,大家可以根据实际的测试需求来进行对应的任务触发和调用。另外还需要注意的是,如果你配置了某个用例集和应用程序的任务,但是将他在mabl中禁用了,那么在Jenkins中是不会进行触发和执行的。
 
在这里插入图片描述

 

2.3 Jenkins配置

  做完以上的这些步骤之后,我们就可以在Jenkins中进行对应的设置。这里是新建自由项目还是管道,还是使用旧的项目都是可以的,具体根据自己的情况判断。我们在构建页面中点击Add build step按钮,就可以在菜单中看到Run mabl tests的选项了。

 
在这里插入图片描述
 
 

  选择后,在对应的构建步骤中,我们在API列表中选择之前在Jenkins中创建的API Keys。在应用程序ID或环境ID中选择一个,这里必须和你在mabl中存在的应用ID或者workspace ID对应上。
 
在这里插入图片描述

  最后比较重要的就是mabl的管道添加,我们选择配置选项,然后在脚本框内插入对应的脚本即可。可以使用“Pipeline Syntax”工具来进行编写。可用的参数如下:

applicationId:应用程序的ID,和之前的一样这里无论是填写环境ID还是应用程序ID都是可以的,选其一;

continueOnMablError:当mabl执行出现错误的时候仍然继续处理;

continueOnPlanFailure:当mabl中的用例或者计划失败仍然继续处理;

environmentId:运行的环境ID;

restApiKeyId:所需部署workspace的API Keys的ID,这里需要注意ID是Jenkins中分配给对应密钥的ID;

labels:标签,可以为任务打上自定义的标签,执行的时候可以区分标签来继续执行;

mablBranch:分支,指定的话会执行对应分支下的所有测试集和用例;

如果管道语法中有不想要配置的参数项,需要置空,保留参数名。

 

声明性管道

mabl applicationId: 'APP-ID-a', continueOnMablError: true, continueOnPlanFailure: true, environmentId: 'ENV-ID-e', restApiKeyId: 'REST-API-KEY-ID'

脚本化管道

node {
  stage('mabl') {
    step([$class: 'MablStepBuilder', restApiKeyId: 'REST-API-KEY-ID', environmentId: 'ENV-ID-e', applicationId: 'APP-ID-a'])
  }
}

 

  我们在全部设置完之后就可以正常的运行Jenkins中的测试任务了,如果之前已经有了任务触发条件也不用做任何的修改,维持原状即可。

  Jenkins中的任务执行完成之后,我们可以在mabl中查看或者利用Junit插件来查看。插件的安装不再重复介绍,在构建步骤中添加Publish JUnit test result report,在下方的界面中配置报告XML的文件名,勾选Do not fail the build on empty test resultsr,然后保存。
 
在这里插入图片描述

 

  之后运行每次的测试任务,完成时都会生成一份名为report.xml的测试结果报告,界面如下:
 
在这里插入图片描述

 
 

3. 后话

在这里插入图片描述
  好了,以上就是mabl在现有的CI/CD环境中进行集成的所有基础操作和配置,大家也可以多多的进行尝试,当然mabl不仅仅对Jenkins有很好的集成,Bamboo、Azure、GitHub、Octopus也都有其对应的集成与调用方法,有兴趣大家可以去官网查看与学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1195216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cmd打开idea

当我们用idea打开一个项目的时候,有时候这个项目目录是有的,但是用idea的open却找不到,有时候我要重新关闭窗口,再open好多次才有 于是我现在使用命令打开,先把idea安装路径的bin目录放在path里面 然后cd到项目路径&…

【ubuntu 快速熟悉】

ubuntu 快速熟悉 2.ubuntu桌面管理器3.ubuntu常见文件夹说明4.ubuntu任务管理器4.1 gnome桌面的任务管理器4.2 实时监控GPU4.3 top 命令 5.ubuntu必备命令5.1 .deb文件5.2 查找命令5.2.1 find文件搜索5.2.2 which查找可执行文件的路径5.2.3 which的进阶,whereis5.2.…

linux:使用nc(netcat)命令进行端口检测,并使用Docker管理容器

需求: 循环检测IP:端口是否能正常连接,能连接则关闭docker服务,不能连接则开启docker服务实现:  &esmp;通过创建linux可执行shell脚本文件,再设置crontab调度执行实现上述需求。详细步骤如下: 创建sh…

ChatGPT Plus的Vision升级是一个改变游戏规则的创举

内容来源:0xluffy_eth ChatGPT Plus的Vision升级是一个改变游戏规则的创举! 现在每个用户都可以以每月20美元的价格雇用自己的个人数字助理实习生,具备VISION! 以下是10个惊人的例子() 1, 我…

Java时间工具类:ZTDateTimeUtil

目录 1.返回指定格式的当前时间,Date-->FormatString,Date类型转Strig 2.返回固定格式的Date类型时间Date---》ToString---》ToDate,Date类型格式化成Date 3.字符串转日期 String格式化成String 4.两时间关系判断构件 5.Date转换为字符串:Date格式化成String 6.String类…

创建第一个Go的程序Hello Kitty

上一篇,我们已经搭建好了开发要用的基础环境:Go开发基础环境搭建, 今天我们要开始用GoLand实操关于Go的代码开发。 创建工程 File > New > Project 其中 game为项目名称 在项目目录下会自动生成一个文件:go.mod ,模块是相关Go包的集合。modules是源代码交换…

Exploration by random network distillation论文笔记

Exploration by Random Network Distillation (2018) 随机网络蒸馏探索 0、问题 这篇文章提出的随机网络蒸馏方法与Curiosity-driven Exploration by Self-supervised Prediction中提出的好奇心机制的区别? 猜想:本文是基于随机网络蒸馏提出的intrin…

在GORM中使用并发

一个全面的指南,如何安全地使用GORM和Goroutines进行并发数据处理 效率是现代应用程序开发的基石,而并发在实现效率方面发挥着重要作用。GORM,这个强大的Go对象关系映射库,使开发人员能够通过Goroutines embrace并行性。在本指南…

Docker进阶——再次认识docker的概念 Docker的结构 Docker镜像结构 镜像的构建方式

前言 在微服务大量应用的互联网时代,经常能看到docker的身影。作为docker的爱好者(在服务器安装MySQL,Redis。。。我用的都是docker),我也会持续深入学习和认识docker。 本篇博客再次介绍docker的基本概念&#xff0…

在ubuntu sudo apt-get update 更新报错

sudo apt-get update 更新报错 解决办法: 用你自己的key 根据上图自己找 sudo gpg --keyserver keyserver.ubuntu.com --recv-keys **********运行完成有一个ok 见下图 运行命令,中间的还是上面的key复制下来即可 sudo gpg --export --armor **********…

DAY50 309.最佳买卖股票时机含冷冻期 + 714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期 题目要求:给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不…

补偿 FIR 滤波器引入的延迟

补偿 FIR 滤波器引入的延迟 对信号进行滤波会引入延迟。这意味着相对于输入,输出信号在时间上有所偏移。此示例向您说明如何抵消这种影响。 有限冲激响应滤波器经常将所有频率分量延迟相同的时间量。这样,我们就很容易通过对信号进行时移处理来针对延迟…

动态规划学习——多状态dp(打家劫舍问题)

一,打家劫舍I 题目: 一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自…

【科研绘图】MacOS上的LaTeX公式插入工具——LaTeXiT

在Mac上经常用OmniGraffle绘图,但是有个致命缺点是没办法插入LaTeX公式,很头疼。之前有尝试用Pages文稿插入公式,但是调字体和颜色很麻烦。并且,PPT中的公式插入感觉也不太好看。 偶然机会了解到了LaTeXiT这个工具,可…

11月份 四川汽车托运报价已经上线

中国人不骗中国人!! 国庆小长假的高峰期过后 放假综合症的你还没痊愈吧 今天给大家整理了9条最新线路 广州到四川的托运单价便宜到💥 核算下来不过几毛钱💰 相比起自驾的漫长和疲惫🚗 托运不得不说真的很省事 - 赠送保险 很多客户第一次运车 …

上海亚商投顾:沪指缩量震荡 龙字辈个股掀跌停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数全天窄幅震荡,沪指最终微幅收红,深成指、创业板指小幅下跌。煤炭板块集体大涨…

pip无法下载moviepy -无法联网

猜测是无法联网 尝试更新匹配 ——失败 尝试1:从网络下载whl文件——还需要下载相关依赖,过于麻烦 但应该可行 下载地址 https://pypi.tuna.tsinghua.edu.cn/simple/对应的包名/ 可能会出现如下,然后继续挨个找 尝试2:使pip联网…

基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 这个章节来完成并行网关,前端无需修改,直接后端修改就可以了。 1、并行网关后端修…

实在智能入选《2023年中国AI软件市场指南》同年再获Gartner重点推荐

近日,全球权威IT研究与咨询机构Gartner发布2023年《中国AI软件市场指南(Market Guide for AI Software, China, October 2023 )》报告,实在智能依托自研垂直TARS大模型旗下的产品Intelligence Indeed IDP产品在人工智能技术领域的…

iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤

目录 iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤 摘要 引言 一、APP加固的概念 二、APP加固方案的比较 三、保护iOS应用的安全 四、总结 参考资料 摘要 本文介绍了移动应用程序(App)加固的概念和流程,以及市…