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

在这里插入图片描述

 
 

在这里插入图片描述
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【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.mfbz.cn/a/130851.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【手动创建UIWindow Objective-C语言】

一、上节课,我们讲了控制器View的懒加载: 1.什么时候会调用这个懒加载呢,用我们直接,控制器self.view self.view的时候: 什么时候,调用它这个self.view, 就要去加载控制器的view, self.view 加载控制器的view 我们给大家演示过了,这个大家已经清楚了,我们给大家说…

Arcgis连接Postgis数据库(Postgre入门十)

效果 步骤 1、矢量数据首先有在postgis数据库中 这个postgis数据库中的一个空间数据,数据库名称是test3,数据表名称是test 2、Arcgis中连接postgis数据库中 3、成功连接 可以将数据拷贝或导入到gdb数据库中

STM32基础--NVIC中断控制器

一、NVIC是什么? NVIC是一种中断控制器。当一个中断正在处理时,另一个更高优先级的中断可以打断当前中断的执行,并立即得到处理。这种机制使得处理器在高速运行的同时,能够及时响应不同优先级的中断请求。 二、有哪些优先级&…

ElasticSearch7.x - HTTP 操作 - 查询文档操作

查询索引下的所有文档 http://192.168.254.101:9200/shopping/_search 条件查询 请求路径上添加条件:http://192.168.254.101:9200/shopping/_search?q=category:小米 请求体上添加条件:http://192.168.254.101:9200/shopping/_search 请求体内容 {"query" :{&qu…

Character.AI:产品优势和商业壁垒在哪里?

OpenAI DevDay 上发布的 GPTS 和 Assistants API 功能,过去几个月里流行的GPT 套壳应用已经在某种程度上正式宣告「死亡」。有些观点认为这次的DevDay杀死了很多新的创业公司,甚至像Character.Ai 这样的应用也可能被取代。 趁此机会重新来梳理下Characte…

GEE ——errors & debuggings (2023GEE峰会总结)

简介: 在gee中有三种错误,一种就是系统错误,也就是我们看到的会在JavaScript code editor中出现的错误,也就是在程序还没有启动之前就会提示的错误,而客户端错误则主要是会提示一些在代码过程中的错误,比如…

粤嵌实训医疗项目--day06(Vue + SpringBoot)

往期回顾 粤嵌实训医疗项目(小组开发)--day05-CSDN博客粤嵌实训医疗项目--day04(Vue SpringBoot)-CSDN博客粤嵌实训医疗项目--day03(Vue SpringBoot)-CSDN博客粤嵌实训医疗项目day02(Vue SpringBoot)-CS…

【数据结构】堆详解!(图解+源码)

🎥 屿小夏 : 个人主页 🔥个人专栏 : 数据结构解析 🌄 莫道桑榆晚,为霞尚满天! 文章目录 🌤️前言🌤️堆的理论☁️二叉树的顺序存储☁️堆的概念 🌤️堆的实现…

Java类和对象(续)

书接上回我们已经学完了对象的初始化,今天的内容更加精彩。 1.封装 面向对象程序的三大特征:封装,继承,多态。 本章主要也是要研究封装,简单来说就是套壳屏蔽细节。 封装的概念: 封装:将数据和…

Redis系列-Redis安装与配置【2】

目录 Redis系列-Redis安装与配置【2】二、Redis安装与配置Redis安装步骤windowDocker安装 Redis配置文件说明Redis启动和停止命令启动Redis服务打开Redis客户端进行连接 使用可视化工具Another Redis Desktop ManagerRedisInsight 个人主页: 【⭐️个人主页】 需要您的【&#…

element-plus 循环生成的多个input输入框如何校验

我们知道正常写出来的input输入框如何校验&#xff0c;那循环出来的输入框应该怎么校验咧&#xff0c;这里就教大家如何的去校验通过循环出来的输入框。 首先先看单个的input如何做校验 <template><div><el-form ref"ruleFormRef" :model"ruleF…

通过海康私有协议Ehome/ISUP协议将海康摄像头、录像机等设备统一接入到LiveNVR Web流媒体平台实现统一汇聚及Web播放等的配置说明,

LiveNVR海康摄像头海康NVR通过EHOME协议ISUP协议接入支持转GB28181级联 1、海康 ISUP 接入配置2、海康设备接入2.1、海康EHOME接入配置示例2.2、海康ISUP接入配置示例 3、通道配置3.1、直播流接入类型 海康ISUP3.2、海康 ISUP 设备ID3.3、启用保存3.4、接入成功 4、相关问题4.1…

K8S容器内安装cur/telnet命令(Alpine Linux离线环境安装curl/telnet或其他工具)

背景 需求&#xff1a; 微服务的基础是镜像&#xff0c;通常在最小化的Linux镜像中安装jdk&#xff0c;然后运行编译好的java程序。将镜像运行到K8S上就得到了微服务Pod&#xff0c;Pod通常使用安装K8S时配置的私有网段&#xff0c;与宿主机不同。很多时候需要排查从Pod网段内…

Hadoop学习总结(使用Java API操作HDFS)

使用Java API操作HDFS&#xff0c;是在安装和配置Maven、IDEA中配置Maven成功情况下进行的&#xff0c;如果Maven安装和配置不完全将不能进行Java API操作HDFS。 由于Hadoop是使用Java语言编写的&#xff0c;因此可以使用Java API操作Hadoop文件系统。使用HDFS提供的Java API构…

Delphi 12 重返雅典 (RAD Studio 12)

RAD Studio 12 的新功能&#xff1a; 以最新的平台版本为目标&#xff01; RAD Studio 12 提供对 iOS 17&#xff08;仅适用于 Delphi&#xff09;、Android 14 和 macOS Sonoma 的官方支持。RAD Studio 12 还支持 Ubuntu 22 LTS 和 Windows Server 2022。 Delphi 源代码的多…

小黑子—springMVC:第一章 请求处理与响应数据

springMVC入门1.0 1、小黑子的springMVC基础1.1 SpringMVC概述1.2 SpringMVC快速入门1.3 Controller中直接注入spring中维护的Bean1.4 SpringMVC关键组件浅析 2、SpringMVC的请求处理2.1 请求映射路径配置2.2 请求数据的接收2.2.1 键值对方式接收数据2.2.1 - I RquestParam属性…

华为云Ascend310服务器使用

使用华为云服务器 cpu: 16vCPUs Kunpeng 920 内存&#xff1a;16GiB gpu&#xff1a;4* HUAWEI Ascend 310 cann: 20.1.rc1 操作系统&#xff1a;Ubuntu aarch64目的 使用该服务器进行docker镜像编译&#xff0c;测试模型。 已知生产环境&#xff1a;mindx版本为3.0.rc3&a…

有符号数是如何判断正负符号位的?

文章目录 有符号数是如何判断正负符号位的&#xff1f; 运行结果&#xff1a; 有符号数是如何判断正负符号位的&#xff1f; #include<stdio.h> int main() {int input_data 0;printf("Please input the data ! \n");scanf("%d",&input_data);…

【CASS精品教程】cass3d基于osgb根据点、线、面提取高程,生成等高线

本文讲解cass3d 11.0基于osgb三维模型,根据点、线、面提取高程点,并将高程点保存到文件。cass11.0下载与安装请点击。 一、加载osgb模型 打开cass11.0软件,打开3d窗口,加载osgb三维模型,如下图所示。 二、点提取 CASS3d中提取点高程的快捷键是G,输入G命令,回车。 提示…

5 Paimon数据湖之表数据查询详解

更多Paimon数据湖内容请关注&#xff1a;https://edu.51cto.com/course/35051.html 虽然前面我们已经讲过如何查询Paimon表中的数据了&#xff0c;但是有一些细节的东西还需要详细分析一下。 首先是针对Paimon中系统表的查询&#xff0c;例如snapshots\schemas\options等等这些…
最新文章