Jenkins持续集成自动化测试

执行集成构建

持续,自动地构建&测试软件项目代码管理(git/svn)>编译(maven/ant/gradle)>打包>测试环境部署>自动化测试

研发体系中的迭代流程

1 源码分支管理: git或者svn, 将不同开发编写的代码集成起来形成不同版本和分支,那么急于版本管理,来进行版本打包发布
2 形成版本 编译打包: maven,ant,gradle集成的版本代码编译打包形成可发布的war包或可运行的安装程序,提供给测试实验
3 测试环境部署: 把形成软件产品包部署到响应的服务器环境上,测试可以开始进行功能测试,CI可以开始执行自动化测试
(如果不做自动化第三部就已经可以结束了)
4 自动化测试:在测试环境完成部署之后,充当冒烟测试职责,对产品核心功能用例进行测试,相当于进行一次准入验证,通过了才移交测试组展开功能测试。
功能测试流程: 需求分析-测试计划-用例设计-测试执行-测试报告
自动化测试流程:测试用例选择-用例编码实现-测试执行-测试报告
Jenkins安装使用
jenkins安装使用
jenkins下载:https://jenkins.io/download/
   中文:  
下载对应版本

通过Tomcat部署jenkins服务

下载安装Tomcat:https://tomcat.apache.org/download-80.cgi
将jenkins 的war包拷贝到Tomcat的webapps目录下
startup.bat启动Tomcat
Jenkins 安装部署
下载完成之后 war包两种部署方式:
    1 java -jar jenkins.war 直接启动运行
    2 系统中有Tomcat服务,放到Tomcat的webapps目录下,启动Tomcat即可
用户目录下 查找。jenkins 才算完成部署

如果需要重装 删了 .JENKINS文件夹 ,然后重新部署war包就可以了

创建构建任务之后,完成持续集成流程:

  1 source code management 源码管理,jenkins 可以连接git和svn仓库去拉去相应的源码(仓库地址找开发对应的源码管理员要相关的配置)

新建

 

 创建名称与自由风格

   

  2 拉去源码之后 会放入到.jenkins的工作目录下
  3 通过调用invoke 相关的编译工具执行命令完成打包操作 打包之后会在响应的编译工具生成的结果目录中
·    4 测试环境部署:由于测试环境是部署到远端的linux服务器上
          在manage jenkins 的manage plugis 中安装publishover ssh 插件

下载插件

安装完成后进行相关配置,将服务的地址配置到ssh插件里

通S过调用执行远程shell 命令完成war包的上传和部署操作

自动化测试脚本执行

最简单的方式:将最终的框架代码和execl用例文件打包,通过jar包执行来完成测试用例的执行

安装完成之后到系统设置

 SSH连接配置 检验是否正常连接

 

 进行连接

 配置完成后回到工作台

 点击上传文件到指定服务器上

完成文件的上传 从而通过shell命令执行

最后把执行的脚本打一个JAR包 

 

build 中选择 execute batch command 执行windows批处理命令 把相关命令写进去 

 之后就可以在build triggers当中加上定时执行 build periodically语法规则 分 时 天 月 星期

 

 需要发送邮件的地址

 最后把邮件触发事件设置为永远都触发

 选择永远触发

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

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

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

相关文章

【限时Free】新增普刊!计算机/社科/医学等多领域,1个月见刊!

普刊极速发表 1 计算机类 World Journal of Information Technology 【Print ISSN】2959-9903; 【Online ISSN】2959-9911; 【出版社】Upubscience Publisher出版社 【发表周期】1-2个月左右出刊; 【接收领域】专注于涉及技术和IT管理的…

用于从未配对的3D医学图像中进行多模式分割的统一生成对抗性网络

Unified generative adversarial networks for multimodal segmentation from unpaired 3D medical images 用于从未配对的3D医学图像中进行多模式分割的统一生成对抗性网络背景积累 贡献难点:贡献: 实验Effect of the weight λshape(形状损…

Android MVI架构之UI开发指南

Android MVI架构之UI开发指南 在整个应用程序架构中,UI层并不是唯一的层级。除了UI层之外,您还可以找到数据层,有时还有领域层。根据Android架构文档: UI层在屏幕上显示数据。数据层暴露应用程序数据,并包含大部分业…

hadoop01_完全分布式搭建

hadoop完全分布式搭建 1 完全分布式介绍 Hadoop运行模式包括:本地模式(计算的数据存在Linux本地,在一台服务器上 自己测试)、伪分布式模式(和集群接轨 HDFS yarn,在一台服务器上执行)、完全分…

自动评估作业,支持订正最终得分、查看关联代码|ModelWhale 版本更新

冬至时节,2023 已进入尾声,ModelWhale 于今日迎来新一轮的版本更新,与大家一起静候新年的到来。 本次更新中,ModelWhale 主要进行了以下功能迭代: 自动评估作业 新增 提交代码(团队版✓ )新增…

ARM GIC(四) gicv3架构基础

GICv3架构是GICv2架构的升级版,增加了很多东西。变化在于以下: 使用属性层次(affinity hierarchies),来对core进行标识,使gic支持更多的core 将cpu interface独立出来,用户可以将其设计在core…

Vue CLI 设置 publicPath:打包后的应用可部署在任意路径

前言 领导要重新部署多个应用环境,且不受路径层级影响。 于是找到了 Vue CLI 配置 publicpath 配置说明 下图所示: / :默认值,应用部署在根路径上;./:注意前面加了一个点,应用可部署在任意路…

算法基础之扩展欧几里得算法

扩展欧几里得算法 核心思想&#xff1a;裴蜀定理 : 欧几里得算法: 辗转相除法求最大公约数 传入参数(int a,int b,int &x,int &y) 递归(int b,int a%b,int y,int x) xy换位置 方便计算(推公式) #include<iostream>#include<algorithm>using namespac…

Java 封装通用HTTP返回结果类

1.返回结果类: /*** 响应结果* param <T>*/ public class ResponseBean<T> {public ResponseBean() {}/*** 时间戳*/ApiModelProperty(value "时间戳", name "timestamp")private String timestamp DateUtils.dateToStr(new Date(), DateU…

移动零(双指针)

1、题目 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums […

yolo-nas无人机高空红外热数据小目标检测(教程+代码)

前言 YOLO-NAS是目前最新的YOLO目标检测模型。从一开始&#xff0c;它就在准确性方面击败了所有其他 YOLO 模型。与之前的 YOLO 模型相比&#xff0c;预训练的 YOLO-NAS 模型能够以更高的准确度检测更多目标。但是我们如何在自定义数据集上训练 YOLO NAS&#xff1f; 这将是我…

JavaScript高级 class类篇

1、class类的实现 class的基本结构 定义及用法&#xff1a;class关键字定义类&#xff0c;创建构造函数&#xff0c;类名首字母大写 语法结构&#xff1a; class 类名{constructor(参数1,参数2){// 构造函数体&#xff0c;添加实例对象成员}方法名(){// 添加原型对象成员}s…

深入理解Java虚拟机jvm-内存分配与回收

对象优先在Eden分配 新生代总可用空间Eden区1个Survivor区&#xff08;from区&#xff09;的总容量 大多数情况下&#xff0c;对象在新生代Eden区中分配当Eden区没有足够空间进行分配时&#xff0c;虚拟机将发起一次Minor GC存活下来的对象放入Survivor当对象无法放入Survivor空…

效果图云渲染是什么意思?如何渲染出照片级别的效果图?

​在当前的建筑规划、室内装修以及电影视效制作等行业内&#xff0c;制作高质量的效果图起着至关重要的作用&#xff0c;因为它能够给予观众或客户极为逼真和吸引人的视觉体验。在此篇文章中&#xff0c;我们将深入了解什么是云端效果图渲染&#xff0c;并探讨如何运用Renderbu…

MySQL 分表真的能提高查询效率?

背景 首先我们以InnoDB引擎&#xff0c;BTree 3层为例。我们需要先了解几个知识点&#xff1a;页的概念、InnoDB数据的读取方式、什么是树搜索&#xff1f;、一次查询花费的I/O次数&#xff0c;跨页查询。 页的概念 索引树的页&#xff08;page&#xff09;是指存储索引数据…

7-1 建立二叉搜索树并查找父结点(PTA - 数据结构)

按输入顺序建立二叉搜索树&#xff0c;并搜索某一结点&#xff0c;输出其父结点。 输入格式: 输入有三行&#xff1a; 第一行是n值&#xff0c;表示有n个结点&#xff1b; 第二行有n个整数&#xff0c;分别代表n个结点的数据值&#xff1b; 第三行是x&#xff0c;表示要搜索值…

Kylin基础知识点解析与应用探索

目录 学习目标&#xff1a; 学习内容&#xff1a; 学习时间&#xff1a; 学习产出&#xff1a; Kylin简介 什么是Kylin Kylin的历史和发展 Kylin在大数据领域的地位和作用 Kylin架构 Kylin的组成部分和模块 Kylin的工作原理和流程 Kylin与其他大数据组件的关系和集成 Kylin功能…

Java8为什么要引入流Stream API

Java8为什么要引入流Stream API Java 8引入流&#xff08;Stream&#xff09;API的主要原因是为了提供一种更高效、更简洁、更易于阅读和维护的方式来处理数据集合&#xff0c;尤其是在处理大量数据时。流API引入了一种新的抽象层&#xff0c;使得数据处理操作可以更加直观和函…

链接未来:深入理解链表数据结构(二.c语言实现带头双向循环链表)

上篇文章简述讲解了链表的基本概念并且实现了无头单向不循环链表&#xff1a;链接未来&#xff1a;深入理解链表数据结构&#xff08;一.c语言实现无头单向非循环链表&#xff09;-CSDN博客 那今天接着给大家带来带头双向循环链表的实现&#xff1a; 文章目录 一.项目文件规划…

STM32F072 CAN and USB

1 通用描述 1.1 STM8 MOSTek 6502 -> ST7 -> STM8 STM8型号单片机分为STM8A、STM8L、STM8S三个系列。 STM8A&#xff1a;汽车级应用 STM8L&#xff1a;超低功耗MCU STM8S&#xff1a;标准系列 1.2 STM32 - F1系列用的最多&#xff0c;最大工作频率72MHz - STM32固件库&am…