Pyhton自动化测试持续集成和Jenkins

持续集成

官方术语:

持续集成(Continuous Integration),也就是我们经常说的 CI
持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。

持续集成流程

在软件的生命周期过程中,从需求,到实现,到测试,到用户手中,是一个持续的过程。

在这个过程当中,不止是开发工作,有很多的环节都可以利用自动化的手段去持续的定期的执行任务,来提升整体的软件质量和效率。

下图为我画的在软件生命周期过程中,开发人员和测试人员和配置管理人员的流程图。

图中红色字体部分均是可以持续定期的去执行。

将上图中的内容综合一下,那么我们可以得到下图的持续集成流程。

 

Jenkins

一款持续集成工具,可以在 jenkins 当中完成以上持续集成流程中的每一个环节。

jenkins 中有 3 大重要概念:

1、Job(任务/工程)

在 jenkins 平台中,都是以 Job(任务/工程)为单位去完成一件事情的。

在使用jenkins时,都是会在jenkins管理界面当中创建一个job/item。在job/item中来组织任务。 

2、plugin(插件)

jenkins 提供平台,集成各种插件来完成一个 Job。想用 jenkins 平来做什么,先找找有没有相应的插件。
比如:windows 命令、Linux 命令的支持、SVN 和 Git 代码获取、邮件发送,测试报告集成等都需要安装相应的插件才能够在 jenkins 当中使用这些功能。

3、workspace(工作空间)

jenkins 是通过文件形式来存储和管理数据的。
所以,在安装jenkins,要指定一个Jenkins_Home目录。所有jenkins相关的数据都存放在此目录下。 
workspace即给jenkins指定一个专门的目录来存储其所有的配置和数据。
jenkins的workspace是根目录 ,其下每个Job都有属于自己的workspace。
每个job的workspace当中用来存放本任务涉及到的数据/文件,以及任务执行完成后生成的数据/文件。 
相当于,给每一个job开辟了一个独立的文件夹。 

4、jenkins 管理(Jenkins Manager)

整个 jenkins 的全局配置。
包括权限管理、插件管理、节点管理等。

在 Jenkins 当中要完成一个任务,首先要创建一个 Job/Item。

通过配置 Job/Item,来配置任务的触发条件、任务的代码从哪获取、任务的执行过程涉及哪些步骤、任务执行完成之后要做哪些通知/展示工作。

一个 Job/Item 的配置项如下:

1、基本信息配置(General)

Job 名字、指定当前 Job 的工作空间、指定当前 Job 绑定到哪个执行机上执行等。。。

2、源码管理(Source Code Management)

svn/git 等,需要相应的插件支撑。
配置好源码管理后,在执行 Job 时会自动从相应的源码库里下载代码到当前 Job 的工作空间中。

3、构建触发器(Build Triggers)

触发器:执行当前任务的条件。
常用定时构建:类似 windows/linux 的定时任务。指定当前 Job 执行的时间。

定时任务配置规则如下:

首先,一共有 5 个配置选项(每个选项之间用空格隔开),分别是:

MINUTE(分钟) HOUR(小时) DOM(每月的天数) MONTH(一年的月份) DOW(每周的天数) 

  • MINUTE(分钟): 指一小时内的分钟数。有效值为:0-59
  • HOUR(小时):指一天内的小时数。有效值为:0-23
  • DOM(每月的天数):指一个月内的天数。有效值为:1-31
  • MONTH(一年的月份):指一年当中的月份数。有效值为:1-12
  • DOW(每周的天数):指一周当中的天数。有效值为 0-7。0 和 7 都表示周日。1-6 分别表示周一到周六。

支持以下操作:

  • *****表示匹配所有有效值。
  • M-N 表示一个连续的有效值范围。比如在 DOW 中用 1-5,表示取周一到周五。
  • M-N/X 或者 */X 表示以 X 为步长,取指定连续范围或所有有效值范围内的值。比如在 DOW 中用 1-5/2,表示取周一,周三,周五。
  • A,B,.....Z 表示枚举。比如在 DOW 中用 1,2,6,表示取周一,周二,周六。

示例:

每周一、三、五,每天上午 10 点整,自动触发任务的执行。

定时配置如下:0 10 * * 1,3,5

MINUTE(分钟): 值为 0。

HOUR(小时):值为 10

DOM(每月的天数):值为* 没有指定一个月当中,只有哪几天运行。所以用*匹配所有有效值。

MONTH(一年的月份):值为* 没有指定一年当中,只有哪个月运行。所以用*匹配所有有效值。

DOW(每周的天数):值为 1,3,5。用枚举方式。因为即不是所有值,也不是连续的有效值。

4、构建(Build)

此一步是用来实现所有你想用此 Job 做的事情。
添加构建步骤:按顺序执行构建步骤。

构建步骤的下拉列表选项多少,由 jenkins 中已安装的相关插件决定 。因为许多功能都是由插件来支撑的。

5、构建后行为(Post-build Actions)

此一步主要在任务执行完成之后,要做的事情。
比如要发送邮件、要展示任务执行的结果。
方式与 4 中一样,都是选择相应的插件功能。

构建后操作步骤的下拉列表选项多少,由 jenkins 中已安装的相关插件决定 。因为许多功能都是由插件来支撑的。

任务配置完成之后,点击 立即构建 ,测试任务在执行时是否有错误。

 

 

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

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

相关文章

二十四、Python基础语法(变量进阶)

一、引用 在定义变量的时候, 解释器会给变量和数据分别在内存中分配内存,变量中保存的是数据的地址, 称为引用,Python 中数据的传递,传递的都是引用,可以使用 id(变量) 函数,获取变量中引用地址。 # 将数字1在内存中的地址储存到变量a中 a …

人工智能岗位英语面试 - 如何确保模型的可靠性和性能

确保模型的可靠性和性能 1. Precision Precision is a metric that measures how accurate the model’s positive predictions are. It calculates the ratio of true positives (correctly predicted positive cases) to the total number of predicted positives (both tr…

时间比较日期

现在需要一个获取当前时间然后对比一个月后的时间的java方法,比如:当前时间获取到是2024-10-28,然后我写定一个时间2024-10-29,这两个比大小,获取的当前时间要小于我写定的时间返回true否则返回false import java.time…

从头学PHP之数组输出基本函数

上期我们讲到了数组,数组是个特殊的变量,在程序中的重要程度很高,大部分数据处理的时候会用到这种特殊的变量,那么现在让我们继续深入一下吧。 上期我们打印出了数组的值,用print_r()或者var_dump()这俩函数&#xff0…

paddleocr使用FastDeploy 部署工具部署 rknn 模型

在 PC 端转换 pdmodel 模型为 rknn 模型和在板端使用百度飞浆开发的 FastDeploy 部署工具部署 rknn 模型 以下内容是在 PC 端系统为 Ubuntu20.04,板端系统为ubuntu20.04 的环境下实现的 描述: 官网地址 rknn_zoo RKNPU2_SDK …

【Linux】进程调度 | 进程切换上下文数据

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 小感慨: …

区块链系统控制台Console的安装与运维

【要求】 登陆Linux 服务器,安装、部署区块链系统控制台 Console,并完成节点的运维。同 时,检查控制台是否能够正常运行。 【任务】 1. 登陆 linux 服务器,进入指定操作目录按下列要求完成控制的安装与部 署,并将安装过…

Rust语言的优缺点以及学习建议

在编程世界的不断演变中,Rust 作为一种重要的语言脱颖而出。它以安全性和性能为核心,正在获得开发者们的广泛关注。但究竟什么是 Rust?它为何如此受欢迎?在这篇博客中,我们将深入探讨 Rust 的世界,探索它的…

【三十七】【QT开发应用】使用QVideoWidget播放视频,QT模块缺失时更新安装模块步骤(利用虚拟网址打开应用加速)

效果展示 下面有一个按钮打开视频&#xff0c;点击按钮之后会出现一个弹窗选择文件&#xff0c;默认打开的是D盘&#xff0c;并且选择的文件的类型有.mp4 .flv或者所有文件。选择正确的视频文件之后可以正常播放视频。 widget.h 主窗口头文件 #pragma once#include <QtWid…

【设计模式系列】适配器模式(九)

目录 一、什么是适配器模式 二、适配器模式的角色 三、适配器模式的典型应用 四、适配器模式在InputStreamReader中的应用 一、什么是适配器模式 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将不兼容的接口转换为一个客户端…

【Vue】word / excel / ppt / pdf / 视频(mp4,mov) 预览

文件预览 Vue3一. word二. excel三. ppt四. pdf4.1 vue-pdf-embed4.2 iframe 五. 视频六&#xff1a;扩展——kkFileView Vue3 一. word 安装&#xff1a;npm install docx-preview父页面 <template><div><DocPreviewv-if"filePath.includes(docx)"…

Cisco Packet Tracer 8.0 路由器单臂路由配置

文章目录 单臂路由简介一、单臂路由的原理二、单臂路由的配置步骤三、单臂路由的优缺点四、应用场景 一&#xff0c;拓扑图搭建二&#xff0c;pc IP地址配置三&#xff0c;交换机Switch0配置四&#xff0c;配置路由器Router0五&#xff0c;测试 单臂路由简介 单臂路由&#xf…

Hadoop-001-本地虚拟机环境搭建

一、安装VMware 官方下载VMware&#xff1a; https://vmware.mdsoft.top/?bd_vid5754305114651491003 二、下载镜像文件 阿里云镜像仓库&#xff1a; https://mirrors.aliyun.com/centos/ 本文档使用 CentOS-7-x86_64-DVD-1810-7.6.iso 搭建虚拟机 三、搭建虚拟机 1、编辑…

【WRF数据准备】基于GEE下载静态地理数据-叶面积指数LAI及绿色植被率Fpar

【WRF数据准备】基于GEE下载静态地理数据 准备:WRF所需静态地理数据(Static geographical data)数据范围说明基于GEE下载叶面积指数及绿色植被率GEE数据集介绍数据下载:LAI(叶面积指数)和Fpar(绿色植被率)数据处理:基于Python处理为单波段LAI数据参考GEE的介绍可参见另…

VantUI

官网&#xff1a;Vant 4 - A lightweight, customizable Vue UI library for mobile web apps. Vant组件库&#xff1a; 基础组件 按钮、图标、布局、提示信息等 表单组件 日历、复选框、时间选择、输入框、评分等 反馈组件 弹出框、加载、下拉菜单、消息提示、下拉刷新、滚动…

面试阿里、字节全都一面挂,被面试官说我的水平还不如应届生

测试员可以先在大厂镀金&#xff0c;以后去中小厂毫无压力&#xff0c;基本不会被卡&#xff0c;事实果真如此吗&#xff1f;但是在我身上却是给了我很大一巴掌... 所谓大厂镀金只是不卡简历而已&#xff0c;如果面试答得稀烂&#xff0c;人家根本不会要你。况且要不是大厂出来…

C#入坑JAVA MyBatis入门 CURD 批量 联表分页查询

本文&#xff0c;分享 MyBatis 各种常用操作&#xff0c;不限于链表查询、分页查询等等。 1. 分页查询 在 下文的 的「3.4 selectPage」小节&#xff0c;我们使用 MyBatis Plus 实现了分页查询。除了这种方式&#xff0c;我们也可以使用 XML 实现分页查询。 这里&#xff0c…

1-petalinux2018.3 摸索记录 -petalinux-config

一、petalinux-config的具体配置-ZYNQMP Configuration 1、Linux Compoment Selection Linux Compoment Selection&#xff0c;Linux组件选择. First Stage Bootloader和Auto update ps_init勾选会自动生成fsbl.elf&#xff0c;自动更新ps_init。 PMU Firmware平台管理单元固…

熵与信息论

经典信息论的核心概念是香农熵。假设我们得到了一个变量X的值&#xff0c;X的香农熵量化了我们在获悉 X的值时所能得到的平均信息量&#xff1b;另一种观点是将X的看作在我们获悉的值前对其不确定程度的度量。这两种观点是互补的&#xff1b;我们既可以将看作在我们获悉X的值前…

Ubuntu 22.04系统启动时自动运行ROS2节点

在 Ubuntu 启动时自动运行 ROS2 节点的方法 环境&#xff1a;Ubuntu 系统&#xff0c;ROS2 Humble&#xff0c;使用系统自带的 启动应用程序 目标&#xff1a;在系统启动时自动运行指定的 ROS2 节点 效果展示 系统启动后&#xff0c;自动运行小乌龟节点和键盘控制节点。 实践…