如何用Jenkins执行自动化测试构建

摘要

依据Jenkins官网介绍,Jenkins是一个流行的开源持续集成和交付工具,它提供了一个可扩展的插件生态系统,可以用于自动化构建、测试和部署软件项目。

本文介绍如何安装使用Jenkins、常见问题解决方案以及深入应用,为自动化测试构建铺垫。

安装jdk

1.Jenkins是用Java写的,Tomcat 9.0设计为在Java SE 8或更高版本上运行。下载并安装jdk1.8.1

Javac –version

安装JDK,并配置环境变量:

在系统变量中,设置JAVA_HOME=jdk安装路径,例如C:\program files\Java\jdk,设置Path,新建值=%JAVA_HOME%\bin。

系统变量下新建变量CLASSPATH ,变量值输入 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

选择Path ,点击编辑,添加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin ,点击确认按钮。

在CMD中敲入java和javac,出现用法说明,证明安装jdk成功。

下载tomcat

1.官网下载tomcat,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。

Windows系统下载

Tomcat压缩包解压后,拷贝到D:\dev\apache-tomcat

2.配置环境变量

系统变量中添加以下变量

新建TOMCAT_HOME变量,变量值输入:D:\dev\tomcat(也就是解压的路径)

3.启动tomcat服务出现中文乱码情况

原因:启动窗口乱码,默认都是UTF-8的,但是控制台是GBK的,要保持一致

解决方法:打开tomcat目录下的conf/目录下logging.properties,找到java.util.logging.ConsoleHandler.encoding = utf-8这行,更改为java.util.logging.ConsoleHandler.encoding = GBK

重新启动tomcat,看到中文显示已正常

扩展:

Tomcat运行应用程序的最简单方法是将war文件移动到Tomcat_BaseDir / webapps目录。默认的Tomcat安装将自动为你扩展和部署应用程序。

浏览器访问http://localhost:8080,出现以下页面说明安装Tomcat成功。

 

扩展:

一些关键的tomcat目录:

  •  / bin-启动,关闭和其他脚本。这些 *.sh文件(对于Unix系统)是这些*.bat文件的功能副本(对于Windows系统)。由于Win32命令行缺少某些功能,因此此处包含一些其他文件。

  • / conf-配置文件和相关的DTD。这里最重要的文件是server.xml。它是容器的主要配置文件。

  • / logs-日志文件默认位于此处。

  • / webapps-这是你的webapp所在的位置。

下载安装jenkins-LTS

  • 1. 官网下载Jenkins-LTS,选择Jenkins.war,将下载的Jenkins.war移到tomcat->webapps

  • 2. 启动tomcat:bin目录下执行命令startup.bat ,(关闭tomcat:bin目录下关闭命令shutdown.bat)

  • 3. 浏览器打开Localhost:8080/Jenkins,填写管理员初始密码,从4. C:\WINDOWS\system32\config\systemprofile\AppData\Local\Jenkins\.jenkins\secrets\initialAdminPassword获取,接着进入“自定义Jenkins”页,为避免用到而没有安装,这里安装所有推荐的插件,需要些时间,插件安装失败需要再试。

 

接着创建管理员用户,填写用户名、密码、确认密码

 点击“使用admin账号继续”,这里配置Jenkins URL,默认设置为http://localhost:8080/jenkins/。

常见问题及解决办法

  • 1.这里要注意下载的Jenkins版本,download下载页面直接下载的是最新的版本,而实际上需要根据本地的JDK版本下载对应支持的Jenkins,否则在部署过程中会遇到java.lang.UnsupportedClassVersionError的错误,同时如果访问http://localhost:8080/jenkins时出现如下界面:

 

原因就是下载的版本和本地java runtime版本不匹配,不支持。

分析:

在本机\tomcat\logs下localhost.2023-06-23.log中找到更详细的报错信息:

信息 [main] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath23-Jun-2023 10:06:06.507 严重 [main] org.apache.catalina.core.StandardContext.listenerStart 配置应用程序监听器[jenkins.util.SystemProperties$Listener]错误  java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties$Listener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (无法载入的类 [jenkins.util.SystemProperties$Listener])

解决办法:

在jenkins官网,找到历史版本。

 

 

根据java版本实际情况下载对应的jenkins版本,安装jdk8则需要下载2.361以前的包,安装jdk11则可以下载2.164.1及以后的包。

替换掉之前的jenkins.war包,重启jenkins,启动成功了

图片

  • 2.Tomcat控制台提示warning:org.apache.catalina.webresources.Cache.getResource 无法将位于[/help/system-config/master-slave/jnlp-tunnel_zh_TW.html]的资源添加到Web应用程序[/jenkins]的缓存中,因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间。

解决办法:找到本机\tomcat\conf下context.xml,增加如下图代码

  • 3. 修改Jenkins登录密码

Jenkins登录时的初始密码存储在C:\Users\用户名\.jenkins\secrets\initialAdminPassword文件中。

用初始密码登录后,可在设置页修改新密码。

Jenkins构建深入应用

以通过Jenkins进行自动化测试项目的构建为例展开。在Jenkins主页中找到“新建Item”菜单,从这里开始配置。

配置步骤如下:

  • 1) 输入任务名称,选择项目类型,一般选择“Freestyle project”,它可以通过与任意SCM关联,不论当前项目用的版本控制系统是SVN还是Git;

  • 2) 打开具体构建配置页,概览,填写构建项目简述

  • 3) 源码管理,代码集成选择SVN、Git或者无;

  • 4) 构建触发器,可以选择触发远程构建、在其他项目部署后构建、周期性构建或者推动SCM代码改变。这里选择周期性构建。

  • 5) 构建环境,可以选择Ant,如果用到的话

  • 6) 构建,这是Jenkins应用的灵魂。添加构建步骤,分别为Windows批处理命令、执行shell脚本、调用Ant、调用顶层Maven目标。这里选择“Windows批处理命令”;

  • 7) 构建后操作,分别含构建其他项目、记录节点、邮件通知等,可按需选择。

 

完成配置后,可以用Jenkins执行自动化测试构建了~

 

Jenkins安装使用介绍到这里,希望能给阅读的小伙伴们带来启迪,如果能对你们的自动化测试构建有所帮助,笔者将十分荣幸。

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

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

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

相关文章

艾迪比皮具携手工博科技SAP ERP公有云,打造数字化转型新标杆

4月1日,广州市艾迪比皮具有限公司(以下简称“艾迪比”)SAP S/4HANA Cloud Public Edition(以下简称“SAP ERP公有云”)项目正式启动。双方项目组领导、成员出席本次项目启动会,为未来项目的顺利实施打下坚实…

滚雪球学Java(74):深入理解JavaSE输入输出流:掌握数据流动的奥秘

咦咦咦,各位小可爱,我是你们的好伙伴 bug菌,今天又来给大家手把手教学Java SE系列知识点啦,赶紧出来哇,别躲起来啊,听我讲干货记得点点赞,赞多了我就更有动力讲得更欢哦!所以呀&…

nginx学习记录-动静分离

1. 动静分离原理 我们在访问网站资源的时候,通常会将资源分成两种,一种是静态资源(前端的固定界面,比如图片,html页面等),这些资源无需后台程序处理;另一种是动态资源,这…

分布式调度器

xxl-job介绍 xxl-job 是一个轻量级分布式任务调度框架,支持动态添加、修改、删除定时任务,支持海量任务分片执行,支持任务执行日志在线查看和分页查询,同时支持任务失败告警和重试机制,支持分布式部署和高可用。xxl-j…

阿里云、腾讯云、华为云优惠券领取入口整理汇总

阿里云、腾讯云、华为云作为国内领先的云服务提供商,一直以其稳定、高效、安全的服务赢得了广大用户的青睐。为了回馈用户,这些云平台经常会推出各种优惠活动,其中最为常见的便是优惠券。本文将为大家整理汇总阿里云、腾讯云、华为云优惠券的…

linux-centos虚拟机设置固定ip

环境准备 虚拟机版本:centos7 安装环境:vmware17 1、设置网络连接 虚拟机-设置-网络适配器-NAT模式 2、查看子网信息 编辑-虚拟网络编辑器-NAT模式-NAT设置 查看子网ip和网关ip 下一步要用 3、修改配置文件 vim /etc/sysconfig/network-scripts…

构建数据平台架构指导原则与平台核心组件说明

文章目录 前言什么是数据架构?数据架构如何帮助构建数据平台?数据平台核心组件数据源系统数据加载数据存储数据处理和转换提供使用数据的方式公共服务 前言 湖仓一体是最近几年非常流行的现代大数据架构,目前它已经成为设计数据平台架构的首…

Flask框架初探-如何在本机发布一个web服务并通过requests访问自己发布的服务-简易入门版

Flask框架初探 在接触到网络框架之前我其实一直对一个事情有疑惑,跨语言的API在需要传参的情况下究竟应该如何调用,之前做过的项目里,我用python做了一个代码使用一个算法得到一个结果之后我应该怎么给到做前端的同学或者同事,之前…

基于springboot 的医院信管系统

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

SpringBoot新增菜品模块开发(事务管理+批量插入+主键回填)

需求分析与设计 一:产品原型 后台系统中可以管理菜品信息,通过 新增功能来添加一个新的菜品,在添加菜品时需要选择当前菜品所属的菜品分类,并且需要上传菜品图片。 新增菜品原型: 当填写完表单信息, 点击"保存…

【数据分析】AHP层次分析法

博主总结:根据每个方案x各准则因素权重累加结果 对比来选择目标。数据主观性强 简介 AHP层次分析法是一种解决多目标复杂问题的定性和定量相结合进行计算决策权重的研究方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能…

【数字人】AIGC技术引领数字人革命:从制作到应用到全景解析

AIGC技术引领虚拟数字人革命:从制作到应用的全景解析 一、AIGC技术为虚拟数字人注入智能灵魂二、AIGC型虚拟人制作流程实例分析1、采集数据2、建模3、内容生成 三、AIGC在虚拟数字人应用中的案例分析四、总结与展望 在科技的浪潮中,AIGC(人工…

Ubuntu:VSCode中编译运行C++代码

版本:Ubuntu22.04.1 LTS 目录 1 安装VSCode并汉化 2 检查Ubuntu是否已经安装了 GCC 3 在VScode中安装C/C扩展 4 在VSCode中进行C/C配置 1 安装VSCode并汉化 安装VSCode(参考之前博客Ubuntu:安装VSCode_ubuntu vscode-CSDN博客&#xff…

Linux sort/uniq/wc

文章目录 1. sort 排序将线程ID从大到小排序 2.uniq 临近去重3.wc word cnt 统计 1. sort 排序 将线程ID从大到小排序 grep -v是反向筛选,利用USER,排除掉首行 awk是打印第1 2列 sort -n是代码以数值大小做排序,不加的话会以字符排序。 -k是…

Gitee和Git学习笔记

Gitee和Git指令 Gitee提交代码方法1 先将仓库clone到本地,修改后再push到 Gitee 的仓库方法2 本地初始化一个仓库,设置远程仓库地址后再做push 切换分支下载代码通过git clone克隆仓库通过下载 ZIP 的方式下载代码 Git提交指令 解决本地库同时关联GitHub…

(C语言入门)复合类型、内存管理

目录 复合类型(自定义类型) 概述: 结构体变量的定义和初始化: 结构体成员的使用: 结构体做函数参数: 结构体值传参: 结构体地址传参: 共用体(联合体)&…

测试人员如何做好工作量评估和风险把控?

今天想聊一聊关于测试工作量评估及需求进度把控的内容。 我个人觉得有时候评估测试工作量其实也挺难的,比如有的需求没有需求文档,只能靠自己对需求的理解去大概评估,有可能评估的工作量比实际需要的工作量会少点,对于每周进行迭…

【Index to Lectures or Courses】

文章目录 1 Speech / Course2 Material3 Basic knowledge and tools4 职位缩写你知道几个? 1 Speech / Course 《中国文化文概论》(武汉大学)【Paper material】【阅读笔记】【Reading Notes】(1)【Reading Notes】(…

Mybatis-plus中的分页操作

Mybatis-plus中的分页操作 1.导入Mybatis-plus依赖2.创建mybatis配置类3.参数 1.导入Mybatis-plus依赖 因为是一个springboot项目&#xff0c;其中的pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns&q…

用于时空交通数据插补的多注意张量完成网络

用于时空交通数据插补的多注意张量完成网络 摘要:道路传感器在物联网(IoT)中的广泛部署可以实现细粒度的数据集成,这是数据驱动应用程序的基本需求。 由于网络通信不稳定、传感器故障等,不可避免地丢失和实质性异常的传感数据是不可避免的。最近的张量补全研究通过精确捕获…