目录
1.安装JDK(不是openjdk 是JDK)
①在官网下载一个jdk的版本:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html
选择linux版本
②下载后的tar包,通过rz命令,上传到目标Linux服务器中
并创建/etc/java/文件夹,移动到此文件夹下并解压
tar -zxvf jdk-8u281-linux-x64.tar.gz
③vi /etc/profile 编辑环境变量
在末位加上java相关环境变量
#java env
JAVA_HOME=/etc/java/jdk1.8.0_281
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin:
export JAVA_HOME
export CLASSPATH
export PATH
加完以后,需要重新加载环境变量
source /etc/profile
④验证:JDK是否安装完成
java -version
2.安装Jmeter
①下载jmeter包:http://jmeter.apache.org/download_jmeter.cgi,下载之后移动到linux服务器上面,然后进行解压,步骤和安装jdk一样
②配置环境变量,在profile文件中配置
#jmeter env
JMETER_HOME=/etc/jmeter/apache-jmeter-5.4.1
CLASSPATH=.:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/log4j-core-2.11.0.jar
PATH=$PATH:$JAVA_HOME/bin:$JMETER_HOME/bin:$ANT_HOME/bin
export JMETER_HOME
export CLASSPATH
export PATH
加完以后,需要重新加载环境变量
source /etc/profile
③验证jmeter是否安装好
jmeter -v
出现如上就表明安装成功
④可以通过jmeter -n -t *.jmx ,运行jmeter
3安装Ant
①在官网下载ant,https://ant.apache.org/bindownload.cgi,下载之后然后移动到linux环境,解压
②配置环境变量
#ant env
ANT_HOME=/etc/ant/apache-ant-1.10.9
PATH=$PATH:$ANT_HOME/bin
export PATH
加完以后,需要重新加载环境变量
source /etc/profile
③验证ant是否安装成功
ant -version
出现如上就表明安装成功
4.安装tomcat
①在官网下载ant,https://tomcat.apache.org/download-80.cgi,下载之后然后移动到linux环境,解压
②环境变量配置
#tomcat env
TOMCAT_HOME=/etc/tomcat/apache-tomcat-8.5.64
PATH=$PATH:$TOMCAT_HOME/bin
export TOMCAT_HOME PATH
原文链接:https://blog.csdn.net/fukai8350/article/details/80467224
③验证tomcat是否安装完成
bin/startup.sh
之后通过ip:8080访问,能调通即成功
④日常使用的tomcat命令
#启动tomcat, 在tomcat目录下(官方名称:apache-****)
bin/startup.sh
#关闭tomcat, 在tomcat目录下(官方名称:apache-****)
bin/shutdown.sh
#如果关闭出错,可以杀死线程
ps -ef | grep tomcat
5.Jmeter+Ant
①将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
cp /etc/ant-jmeter-1.1.1.jar /etc/ant/apache-ant-1.10.9/lib/
②在jmeter文件中创建demo文件夹,并再分别创建jtl html script xml 4个文件夹,分别用来放jtl文件 报告文件 jmx文件和build.xml文件
③优化模板(目前我是直接用的别人的模板)
④优化build.xml
<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="/etc/jmeter/apache-jmeter-5.4.1" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="/etc/jmeter/apache-jmeter-5.4.1/demo/jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="/etc/jmeter/apache-jmeter-5.4.1/demo/html" />
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
<property name="jmeter.resultdetail.htmlName" value="${jmeter.result.html.dir}/Interface-detail.html" />
<!-- 接收测试报告的邮箱
<property name="mail_to" value="**@qq.com" /> -->
<!-- 电脑地址 -->
<property name="ComputerName" value="zxg" />
<target name="all">
<antcall target="test" />
<antcall target="report" />
<antcall target="reportdetail" />
<!--<antcall target="sendmail" />-->
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
<testplans dir="${jmeter.home}/demo/script" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<!--加载jar包-->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="report">
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
<!-- <param name="dateReport" expression="${time}"/>-->
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<target name="reportdetail">
<xslt
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" />
</target>
<!-- 发送邮件
<target name="sendmail" >
<mail mailhost="smtp.qq.com"
mailport="465"
ssl="true"
user="**@**"
password="zxgp@ssw0rd"
subject="接口测试报告"
from="**@qq.com"
>
<to address="**@qq.com"/>
<message>详细报告请查看附件</message>
<attachments>
<fileset dir="${jmeter.result.html.dir}">
<include name="${ReportName}${time}.html"/>
</fileset>
<fileset dir="${jmeter.result.html.dir}">
<include name="Interface-detail.html"/>
</fileset>
</attachments>
</mail>
</target>
-->
</project>
⑤修改jmeter.properties文件如下部分,都改成true
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=false
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
# Only available with HttpClient4
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=false
jmeter.save.saveservice.responseHeaders=false
jmeter.save.saveservice.requestHeaders=false
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
# Only available with HttpClient4
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=false
jmeter.save.saveservice.hostname=false
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=false
jmeter.save.saveservice.idle_time=true
⑥进入jmeter路径/demo/xml ,执行ant命令
提示BUILD SUCCESSFUL,即运行成功
可下载html查看html形式的测试报告,也可以通过jtl在jmeter查看结果树
6.Jenkins安装
①在官网下载jenkins war包,https://www.jenkins.io/download/,下载之后然后移动到linux环境
②清空tomcat下webapps文件,把jenkins.war放入webapps文件夹
③启动tomcat 更改webapps下jenkins文件名,改为ROOT
④重启tomcat 网页访问 ip:8080 进入jenkins页面
⑤获取Jenkins管理员密码
⑥下一步下一步即可 进入以下页面即表示安装成功
7.Jenkins+Ant+Jmeter
①进入Jenkins系统管理→管理插件,安装HTML Publisher 和Performance 插件以展示测试报告。
②进入系统管理→全局工具配置页面设置jdk和ant
注意:默认是需要安装的,不选自动安装就是输入本地地址
③新建一个自由风格的项目,并构建:
源码管理,如果无git就不填:
构建ANT:
构建完成操作HTML reports:
应用=>保存
④项目中执行构建
和直接执行ant一样,出现BUILD SUCCESSFUL就表明构建成功,运行成功。
在原先的html jtl文件夹中都会出现对应的报告和jtl,因为Jenkins安装了html report插件,也可以直接查看报告。
Jenkins+Ant+jmeter的自动化持续平台就全部完成了。后续要引进docker,git,maven这些都是类似的步骤。
安装过程中出现的问题:
①source profile后,所有命令都失效
原因:修改profile文件时,使用了$PATH=<newpath>,后面没有使用”:”拼接原来的$PATH,导致PATH丢失了重要环境变量。添加环境变量时一定要看清。
解决方法:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
②source /etc/profile 在关闭当前xshell窗口后,需要重新source,否则会提示没有对应命令
解决方法:vi /root/.bashrc 中末位添加 source /etc/profile
③Jenkins没有配置本地环境,导致报错
参考:https://blog.csdn.net/weixin_41948075/article/details/97894080
https://cloud.tencent.com/developer/article/1527554?from=article.detail.1527556
https://blog.csdn.net/fukai8350/article/details/80467224