接口测试Ⅳ——持续集成Jenkins

文章目录

持续集成介绍

概念

  • 持续集成(Continuous Integration,简称CI)是一种软件开发实践,即团队开发成员经常集成他们的工作, 通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。
  • 持续集成的目的:让产品可以快速迭代,同时还能保持高质量。

好处

  • 快速发现错误
    每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易
  • 防止分支大幅偏离主干
    如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成
  • 更快速的发布更新
    持续集成可以帮助团队更快速、更积极的发布程序和更新程序。在发布时可自动完成大量重复的工作、节省人力

持续集成工具

  • Jenkins:一个开源的持续集成工具,提供软件版本发布、自动测试等一系列流程及丰富的插件
  • SVN/Git:源代码版本管理工具
  • GitHub/GitLab/Gitee:基于Git的代码仓库

Git和Git代码托管平台

1 Git

2 Git代码托管平台

  • Github
    • 是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱
    • 国外的,受网络环境影响较大
    • 官网:https://github.com/
  • Gitee
    • 即码云,是开源中国免费提供(企业版收费)
    • 国内的,受网络环境影响较小
    • 官网:https://gitee.com/
  • Gitlab
    • 类似Github,一般用于企业内部搭建git私服。

3 使用Gitee

3.1 在Gitee创建项目

  1. 注册账号,网址:https://gitee.com/
  2. 点击按钮创建一个仓库
  3. 输入仓库名称,点击‘Create repository’按钮
  4. 进入仓库详情页面,点击‘克隆/下载’,再选择‘复制’即可得到项目地址

3.2 在PyCharm中检出Gitee中的项目

  1. 打开PyCharm
  2. 配置Git。选择菜单‘File’–>‘Settings…’,搜索git
  3. 选择菜单‘VCS’–>‘Get from Version Control…’
  4. 输入项目的URL,点击Clone按钮

3.3 在PyCharm中编辑项目文件

  1. 把文件提交到服务器(新建的文件和编辑的文件)
  2. 从服务器中拉取文件
  3. 对比文件的区别,解决冲突

Jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作, 旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

2. Jenkins环境搭建

2.1 安装JDK

2.2 安装Jenkins

  1. 下载最新的版本war包,官网:https://jenkins.io/
  2. 进入war包所在目录,命运行运行
  java -jar jenkins.war                     默认端口是8080
  java –jar jenkins.war --httpPort=8888     可以用httpPort来指定端口
  1. 在浏览器中访问http://localhost:8080/
  2. 进入启动页后,这里需要一个密码进行验证,密码所在的位置会在页面上标有,直接打开这个文件就可以看到密码
  3. 密码输入后,点击继续。此时会提示是否安装插件,我们选择第一个,安装建议的插件
  4. 等待插件安装完成
  5. 安装完成后,会提示设置用户名和密码,进行后期登录使用
  6. 配置完成后,提示准备就绪
  7. 点击按钮,即可进入首页

3. 安装HTML Publisher插件

  1. 进入首页,选择’Jenkins’后面的小图标->‘系统管理’->‘管理插件’

  2. 输入搜索关键字,选择要安装的插件,点击‘Install without restart’安装

  3. 查看安装进度

4. 系统设置

  1. 选择’Jenkins’->‘系统管理’->‘系统设置’
  2. 配置’系统管理员邮件地址’
  3. 配置’Extended E-mail Notification’
  4. 配置’邮件通知’

5. 解决控制台乱码问题

如果在控制台中输出中文字符时出现乱码,则可通过以下操作来设置字符编码:

  1. 打开系统管理->系统设置,在’全局属性’添加’环境变量’。LANG=zh_CN.UTF-8和JAVA_TOOL_OPTIONS=-
    Dfile.encoding=UTF8

  2. 启动jenkins服务的命令中指定编码

    java -Dfile.encoding=UTF-8 -jar jenkins.war
    

6. 解决HTML报告样式无法显示问题

在部署Jenkins持续集成的过程中经常会用到HTML Publisher插件来显示测试报告。 为了测试报告样式的美观以及易读,测试报告中经常会搭配CSS和JS实现自定义的样式或动画效果。

  • 问题
    Jenkins中在访问有自定义样式或动画效果的测试报告时,会出现样式无法正常显示的问题。

  • 原因
    Jenkins为了避免受到恶意HTML/JS文件的攻击,会默认将安全策略CSP设置为:

    sandbox; default-src 'none'; img-src 'self'; style-src 'self';
    

    在此配置下,只允许加载
    1. Jenkins服务器上托管的CSS文件
    2. Jenkins服务器上托管的图片文件
    被禁止
    JavaScript、plugins (object/embed)、HTML中的内联样式表和引用的外站CSS文件、HTML中的内联图片和外站引用的图片文件等等

  • 解决方案
    解决方案有很多种,使用任何一种方式即可。下面通过修改启动命令来实现:

    D:\jenkins>java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war
    

7. 邮件测试报告模板

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<div>
	<h2>项目信息</h2>
	<ul>
		<li>项目名称:${PROJECT_NAME}</li>
		<li>详细测试报告:<a href="${PROJECT_URL}HTML_20Report/">${PROJECT_URL}HTML_20Report/</a></li>
		<li>触发原因:${CAUSE}</li>
		<li>项目Url:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
	</ul>
	<hr/>
	<h2>构建日志</h2>
	<div>${JELLY_SCRIPT,template="html"}</div>
	<hr/>
</div>
</body>
</html>

持续集成之Postman

1. 创建任务

  1. 点击’New 任务’菜单

  2. 输入任务名称,选择’构建一个自由风格的软件项目’,点击’确定’

  3. 任务列表,点击任务名称,进入任务操作页面

  4. 点击’Configure’菜单,进入任务配置页面

  5. 添加构建,选择’执行 Windows 批处理命令’,输入执行脚本: newman run

    D:\postman\ihrm\ihrm.postman_collection.json -e D:\postman\ihrm\test.postman_environment.json -r html --reporterhtml-export report.html
    
  6. 添加构建后操作,点击‘Add post-build action’按钮,选择‘Publish HTML reports’,点击‘Add’按钮,输入配置信息

  7. 添加构建后操作步骤,选择'Editable Email Notification',然后配置相关信息

  8. 点击‘Apply’‘Save’按钮

2. 构建

  1. 进入项目操作页面,点击’立即构建’菜单
  2. 构建进度条,点击查看构建进度
  3. 查看控制台输出
  4. 查看测试报告
  5. HTML测试报告

持续集成之代码

1. 创建任务

  1. 点击’New 任务’菜单
  2. 输入任务名称,选择'构建一个自由风格的软件项目',点击'确定'
  3. 任务列表,点击任务名称,进入任务操作页面
  4. 点击'Configure'菜单,进入任务配置页面
  5. 源码管理
  6. 构建触发器
  7. 添加构建,选择'执行 Windows 批处理命令',输入执行脚本
  8. 添加构建后操作,点击‘Add post-build action’按钮,选择‘Publish HTML reports’,点击‘Add’按钮,输入配置信息
  9. 添加构建后操作步骤,选择'Editable Email Notification',然后配置相关信息
  10. 点击‘Apply’‘Save’按钮

2. 构建

  1. 进入项目操作页面,点击’立即构建’菜单
  2. 构建进度条,点击查看构建进度
  3. 查看控制台输出
  4. 查看测试报告
  5. HTML测试报告

原文地址:https://blog.csdn.net/qq_31870305/article/details/116309239

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


基础环境、流程图1)流程图jenkinspipeline发布应用2)、jenkins上安装kubectl#主节点上查看kubectl位置[root@k8s01~]#whichkubectl/usr/bin/kubectl#将k8s节点的kubectl文件cp至jenkinsscp10.0.0.101:/usr/bin/kubectl.cp./kubectl/usr/local/bin/kubectl
本节是建立在流水线入门内容的基础上,而且,应当被当作一个参考。对于在实际示例中如何使用流水线语法的更多信息,请参阅本章在流水线插件的2.5版本中的使用Jenkinsfile部分,流水线支持两种离散的语法,具体如下对于每种的优缺点,参见语法比较。正如本章开始讨论的,流水线最
Linuxcentos7安装Jenkins(jenkins-2.227-1.1.noarch.rpm)时遇到问题:1.出现问题1:安装jenkins一直失败,提示Nosuchfileordirectory[helen@linuxprobeJenkins]$sudorpm-ivhjenkins-2.227-1.1.noarch.rpmPreparing...####################
作为一个拥有很多账号的当代美少女,忘记用户名密码什么的是再正常不过的事了。“忘记密码”这一功能给我真的带来了很大的福音啊。但是最近重新使用Jenkins时,看到需要输入用户名密码,顿时脑子一片空白。经过一系列的查找,终于解决了问题,害,只有把方法记下来才是王道,以后妈妈再
Jenkins、GitLab和Maven(Nexus)完成自动构建迈向持续集成持续集成,毋庸置疑的是这是两部分要求,一个是持续一个是集成,那么持续和集成到底表示了什么要求和含义呢?其中的集成比较容易理解就是指开发人员将自己开发的代码不断地交付给全部系统的代码,在Git仓的概念之下也就是不断地
 下载文档https://www.jenkins.io/zh/download/  Debian下载1.下载安装keyhttps://pkg.jenkins.io/debian-stable/jenkins.io.key  
流水线建设从Jenkins部署开始Jenkins是一个独立的开源自动化服务器,可以用来自动化,例如构建、测试和部署软件等各种任务,是一个实现CI(持续集成)的很好的工具。Jenkins可以通过本地系统包、Docker安装,甚至可以在安装Java运行时环境的机器上独立运行。JenkCI/CD的概念谈到持
原因:这种情况是SSHServer中的RemoteDirectory路径不存在。解决方法:重新输入目标服务器中存在的路径。      
什么是持续集成持续集成(Continuousintegration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。通过持续集成,团
Tomcat安装:1.下载Tomcat包:http:/omcat.apache.org/并解压2.启动:双击bin\startup.bat文件浏览器访问:http://localhost:8080/3.Tomcat配置登录:打开confomcat-users.xml文件添加如下代码:<rolerolename="manager-gui"/><userusername="admin"password=&q
文章目录jenkinscron笔记简介H符号(hash的简写)别名例子jenkinscron笔记简介jenkinscron遵循普通cron的语法,略有不同,每行包含五个字段可以使用Tab和空行分割分钟小时日月周0-590-231-311-120-7(0和7都表示周日)可以使用以下操作符为一个字段指定多个值(按照
1.nginx的配置location/jenkinsno{indexindex.htmlindex.htm;proxy_passhttp://127.0.0.1:8081;proxy_connect_timeout3000s;proxy_send_timeout3000s;proxy_read_timeout3000s;prox
1、下载安装插件下载地址:http://files.jetbrains.org.cn/aliyun-oss.hpi在Jenkins中安装插件,请到ManageJenkins->Advanced->Upload,上传插件(.hpi文件)安装完毕后请重新启动Jenkins2、搜索安装jenkins插件安装3、安装完成以后配置阿里云oss账号oss这边设置:(账号的权限也要
首先将构建历史清除Jenkins构建历史删除与重置然后进入Jenkins服务器工作目录oot/.jenkinstar-czvfjobs.tarjobs 将jobs打包将job.tar文件复制到新Jenkins服务器相同目录下解压tar包 tar-zxvfjob.tar登录新JenkinsJenkins-系统管理-读取配置,只有点击了读取配置,原
一、动态生成Slave1.1、简介之前我们都是在物理机或者虚拟机上部署jenkins,但是这种部署方式会有一些难点,如下:主Master发生单点故障时,整个流程都不可用了每个Slave的配置环境不一样,来完成不同语言的编译打包等操作,但是这些差异化的配置导致管理起来非常不方便,维护起来也是
from jenkins import Jenkins# 判断job是否运行结束def build():    job = 'branch-deploy-wap'    params = {        'server_ip': '10.160.30.XXX',        'server_username': 'root',        'server_userpass&#
背景client端执行webUI自动化测试时依赖操作系统上安装了对应的浏览器,并且浏览器与驱动要进行版本的对应——而selenium是可以部署集群,通过远程的方式执行对应的自动化用例,方便高效。原理1、通过代码可知,自动化运行的主类接收了任务id,获取到任务信息后根据任务类型判断进行接口
背景工具选择架构设计及技术实现参数设计断言持续集成测试集编写总结  一、背景1.目前公司发展比较迅速,还处于不停堆业务阶段,所以迭代比较频繁,导致人工回归的成本越来越大2.在有限的测试资源情况下,开发自测的需求占比不低,后端频繁发布容易心里没底
本地pycharm打开项目,运行自动化项目下载项目代码,并用pycharm打开项目gitclonehttps://gitee.com/iread9527/iInterface_python.git进入iInterface_python目录下,cdiInterface_python使用pip3install-rrequirements.txt命令,安装python项目依赖的第三方库使
Jenkins邮件设置一、简介最近有朋友问Jenkins邮件设置的问题,想起来当时也是碰到不少坑,网上看了很多博客说的解决办法根本没有用。最后我解决了这个问题,在此记录一下,希望能够帮助到在网上搜了半天仍然徒劳无功的朋友们,我懂那种失败了一次又一次的感觉,希望能帮到大家。二、配置步