一文说透如何用Jenkins执行自动化测试构建

发表于:2024-3-21 09:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:枫叶    来源:51Testing软件测试网原创

  摘要:
  依据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 classpath
  23-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,增加如下图代码。
  5.修改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安装使用介绍到这里,希望能给阅读的小伙伴们带来启迪,如果能对你们的自动化测试构建有所帮助,笔者将十分荣幸。
  版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号