linux环境搭建jmeter、ant、git、Jenkins、jdk、Tomcat

我在搭建环境时,将jmeter、ant、jdk、Tomcat都放在陆opt文件夹下

1.下载jmeter、ant、Jenkins(Jenkins.war包)、jdk、Tomcat

Linux环境下安装Jenkins,需要jdk版本大于11

2.环境配置

jdk配置

vim /etc/profile

添加配置信息:

export JAVA_HOME=/opt/jdk-17.0.1
(export JAVA_HOME=/opt/jdk-17.0.1)
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
配置完成按esc--》:wq!退出,执行source /etc/profile

输入java -version验证是否配置成功

jmeter配置

export JMETER_HOME=/opt/apache-jmeter-5.4.1
export CLASSPATH=$JMETER_HOME/lib/ext/AacheJMeter_core.jar:$JMETER_HOME/libjorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

配置完成按esc--》:wq!退出,执行source /etc/profile

输入jmeter -v 验证是否配置成功

ant配置

export ANT_HOME=/opt/apache-ant-1.9.16
export PATH=$ANT_HOME/bin:$PATH

配置完成按esc--》:wq!退出,执行source /etc/profile

输入ant -version验证是否配置成功

安装Tomcat:

 1.tomcat是需要有jdk环境才可以正常运行。

2. /opt/apache-tomcat-8.5.88/bin

进入bin目录后  ./startup.sh  运行(若报错: -bash: ./startup.sh: Permission denied 说明权限不够,如果你是root账号,直接执行指令: chmod u+x *.sh  赋予权限即可)

3.tomcat默认端可是8080

4.关闭 ./shutdown.sh  关闭后即不可访问,先关闭,等配置好Jenkins后再重启

Tomcat配置Jenkins

1. 将Jenkins.war 复制到tomcat的webapp目录下后启动tomcat :

cd /opt

cp jenkins.war apache-tomcat-8.5.88/webapps/

cd /opt/apache-tomcat-8.5.88/bin

./startup.sh运行

2. 浏览器输入: http://ip:8080/jenkins 打开jenkins页面

cat /root/.jenkins/secrets/initialAdminPassword    获取验证密码

接下来就是推荐安装程序,创建账号密码。

Admin默认密码就是 :cat /root/.jenkins/secrets/initialAdminPassword

Ant配置Jmeter
1. 为了方便管理,在Jmeter主目录下创建一个report文件夹

cd /opt/apache-jmeter-5.2.1

mkdir report

2. 进入report目录创建       cd report/

3. 创建3个文件夹 分别为jtl、html(存放测试报告目录)、run(存放测试脚本目录)

mkdir jtl html run
 

4. 把jmeter目录下的extras目录下的ant-jmeter-1.1.1.jar文件复制到ant目录下的lib文件夹中

cp /opt/apache-jmeter-5.2.1/extras/ant-jmeter-1.1.1.jar /opt/apache-ant-1.10.7/lib

5. 配置ant的编译文件 build.xml

将编译好的build.xml放置Jmeter目录的report目录下

代码如下:请看备注进行修改
 

<?xml version="1.0" encoding="UTF8"?>
<project name="ant-jmeter" default="all" basedir=".">
    <property name="jmeterPath" value="/opt/apache-jmeter-5.4.1"/>
    <property name="mail_host" value="smtp.163.com"/>
    <property name="mail_port" value="25"/>  <!--邮箱端口 -->
    <property name="username" value="xxxxxxxx@163.com"/>  
    <property name="password" value="xxxxxx"/>  <!--邮箱授权码 -->
    <property name="mail_from" value="xxxxx@163.com"/>  <!--发送邮箱-->
    <property name="mail_to" value="xxxxxx@163.com,xxxxxxx@qq.com"/> <!--收件邮箱-->
    <property name="mailsubject" value="接口自动化测试报告"/>
    <property name="message" value="接口自动化测试报告"/>
    
    <tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp>
    
    <!-- jmeter环境配置 -->
    <property name="jmeter.home" value="${jmeterPath}"/>
    <!-- jtl测试结果存放路径 -->
    <property name="jmeter.result.jtl.dir" value="/opt/apache-jmeter-5.4.1/report/jtl"/>
    <!-- html测试结果存放路径 -->
    <property name="jmeter.result.html.dir" value="/opt/apache-jmeter-5.4.1/report/html"/>
    <property name="htmlReportNameSummary" value="TestReport"/>
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${htmlReportNameSummary}${time}.jtl"/>
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.html"/>
	
	<property name="htmlReportNamedetail" value="TestReport"/>
	<property name="jmeter.result.detailhtml.dir" value="/opt/apache-jmeter-5.4.1/report/detailhtml"/> <!--存放测试详情报告-->
	<property name="jmeter.result.detailhtmlName" value="${jmeter.result.detailhtml.dir}/${htmlReportNamedetail}${time}.html" />

    <target name="all">
        <antcall target="test"/>
        <antcall target="report"/>
        <antcall target="sendEmail"/>
    </target>
       
    <!-- 执行接口测试 -->
    <target name="test">
        <echo>执行接口自动化测试用例</echo>
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            <!--testplans dir="/opt/apache-jmeter-5.4.1/report/run" includes="*.jmx" /--> <!--测试脚本  run文件夹存放测试脚本-->
			 <testplans dir="/root/.jenkins/workspace/ApiTest" includes="*.jmx" /> <!--切换为gitee或gitlab拉取代码存放路径(拉取的代码存放在Jenkins中的workspace下)-->
             <property name="jmeter.save.saveservice.output_format" value="xml" />
        </jmeter>
    </target>
    
    <!-- 解决报告中NAN字段显示问题-->
    <path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar" />
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar" />    
    </path>
    
    <target name="report">
        <echo>生成接口自动化测试报告</echo>
            <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
			
			<!--添加报告-->
            <xslt classpathref="xslt.classpath"  force="true" 
                  in="${jmeter.result.jtlName}"  out="${jmeter.result.htmlName}"
                  style = "${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"  ><!--需添加jmeter-results-detail-report_21.xsl文件-->
                  <param name="titleReport" expression="${mailsubject}${time}"/> 
                  <param name="dateReport" expression="${report.datestamp}"/>
            </xslt>
			
			<!--添加详细报告-->
			<xslt classpathref="xslt.classpath" force="true" 
				in="${jmeter.result.jtlName}" out="${jmeter.result.detailhtmlName}" 
				style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" ><!--需添加jmeter.results.shanhe.me.xsl文件-->
				<param name="titleReport" expression="${mailsubject}${time}"/>
				<param name="dateReport" expression="${report.datestamp}"/>
			</xslt>

                  
            <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->  
            <copy file="${jmeter.home}/extras/expand.png" tofile="${jmeter.result.html.dir}/expand.png" />
            <copy file="${jmeter.home}/extras/collapse.png" tofile="${jmeter.result.html.dir}/collapse.png" />
            
    </target>
	
	<!--将控制台输出到文本中-->
    <record name="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.txt" loglevel="info" append="no" action="start"/>
	<record name="${jmeter.result.detailhtml.dir}/${htmlReportNamedetail}${time}.txt" loglevel="info" append="no" action="start"/>
	
    <target name="sendEmail">
	<!--读取输出的控制台日志文件并写入邮件正文-->
	<loadfile property="email_content" srcFile="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.txt" encoding="UTF-8"/>
	<loadfile property="output" srcFile="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.html" encoding="UTF-8"/>
	
	<loadfile property="email_content_outputdetail" srcFile="${jmeter.result.detailhtml.dir}/${htmlReportNamedetail}${time}.txt" encoding="UTF-8"/>
	<loadfile property="outputdetail" srcFile="${jmeter.result.detailhtml.dir}/${htmlReportNamedetail}${time}.html" encoding="UTF-8"/>
        <echo>发送测试报告</echo>
            <mail mailhost="${mail_host}" 
                  ssl="false"                        
                  user="${username}"
                  password="${password}"
                  mailport="${mail_port}"
                  subject="${mailsubject}"
                  messagemimetype="text/html"
                  tolist="${mail_to}"  >
            <from address="${mail_from}" />
            
                <attachments>
                    <fileset dir="${jmeter.result.detailhtml.dir}">
                        <include name="${htmlReportNamedetail}${time}.html" />
                        <include name="collapse.png" />
                        <include name="expand.png" />
                    </fileset>
                </attachments>
                
                <message>
				 ${outputdetail}
                </message>
            </mail>
    </target>
</project>


 

配置jmeter.properties文件
vi /opt/apache-jmeter-5.4.1/bin/jmeter.properties

/csv 找到这个位置(改jmeter.save.saveservice.output_format=csv 

为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#)

配置jar包支持发送email

1、在 jmeter 的 /opt/apache-jmeter-5.4.1\Extras 目录下找到 ant-jmeter-1.1.1.jar 文件,将它复制到 ant 的 \lib 目录下

2、下载commons-email.jar包,然后放在 ant 的 \lib 目录下

3、下载activation-1.1.1.jar包,然后放在 ant 的 \lib 目录下

4、javax.mail.jar包,然后放在 ant 的 \lib 目录下

运行ant

Ant是可以运行多个脚本,不需要单个脚本一个个运行。

1. 把已经写好的脚本放进report/run的目录下

2. cd /opt/apache-jmeter-5.4.1/report 后直接ant即可

Jenkins配置jdk、ant路径

Manage Jenkins->Tools

jdk配置

Git配置

ant配置

​ 

新建Jenkins任务并执行

​ 

 如果需要配置gitee/gitlab

构建触发

 Build Steps设置

ant version 选择ant,不要选default

 

 完成保存,点击build now

HTML报告配置

下载安装HTML Publisher plugin插件

在项目配置中配置测试报告路径,如/opt/apache-jmeter-5.4.1/report/detailhtml,报告会自动复制到Jenkins安装目录下,如/root/.jenkins/jobs/ApiTest/htmlreports/HTML_20Report,可直接访问报告路径查看http://ip:8080/jenkins/job/ApiTest/HTML_20Report

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值