全网最牛的JMeterAntJenkins接口自动化测试框架
一:简介
大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套WebHTTP接口测试的持续构建环境,实现接口自动化测试,pc系统是Windows。
视频教程:
b站2023年全网最牛最全面的接口测试教程jmeter接口测试
二:jmeterJDK安装
JDK的安装及环境变量配置
JDK的下载安装
JDK官网下载地址:JavaDownloadsOracle
然后注册账号,开始下载,下载好后直接点击一路默认安装!!!
安装后路径
JDK系统环境变量的配置
右键计算机属性高级系统设置系统属性高级环境变量添加如下的系统变量
JAVAHOME(新建)
变量名:JAVAHOME
变量值:C:developJavajdk1。8。0191
用途:定义一个变量,供其他地方使用
Path
变量名:Path
变量值:JAVAHOMEbin;JAVAHOMEjrebin;
用途:让系统在任何路径下都可以识别java、javac、javap等命令
CLASSPATH(新建)
变量名:CLASSPATH
变量值:。;JAVAHOMElibdt。jar;JAVAHOMElibools。jar(记住前面的。)
用途:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件,。;表示当前路径,tools。jar和dt。jar为类库路径
运行cmd,在窗口中使用Javaversion或者Java或者javac可以验证JDK是否安装成功
CLASSPATH详解
tools。jar
工具类库(编译和运行等),它跟我们程序中用到的基础类库没有关系。我们注意到在Path中变量值bin目录下的各个exe工具的大小都很小,一般都在27KB左右,这是因为它们实际上仅仅相当于是一层代码的包装,这些工具的实现所要用到的类库都在tools。jar中,用压缩软件打开tools。jar,你会发现有很多文件是和bin目录下的exe工具相对性的。当然,如果tools。jar的功能只有这些的话,那么我们根本不用把它加入到CLASSPATH变量中,因为bin目录下的工具自己可以完成对这些类库的调用,因此tools。jar应该还有其他的功能。在里面还可以看到有Applet和RMI等相关的文件,因此tools。jar应该还是远程调用等必须的jar包。tools。jar的其他作用可以查看其他资料。
dt。jar
运行环境类库,主要是Swing包,这一点通过用压缩软件打开dt。jar也可以看到。如果在开发时候没有用到Swing包,那么可以不用将dt。jar添加到CLASSPATH变量中。
CLASSPATH中的类库是由ApplicationClassLoader或者我们自定义的类加载器来加载的,这里当然不能包括基础类库,如果包括基础类库的话,并用两个不同的自定义类加载器去加载该基础类,那它得到的该基础类就不是唯一的了,这样便不能保证Java类的安全性。
基本类库和扩展类库rt。jar
基本类库是所有的importjava。开头的类,在JAVAHOMEjrelib目录下(如其中的rt。jar、resource。jar),类加载机制提到,该目录下的类会由BootstrapClassLoader自动加载,并通过亲委派模型保证了基础类库只会被BootstrapClassLoader加载,这也就保证了基础类的唯一性。
扩展类库是所有的importjavax。开头的类,在JAVAHOMEjrelibext目录下,该目录下的类是由ExtensionClassLoader自动加载,不需要我们指定。
rt。jar默认就在根ClassLoader的加载路径里面,放在CLASSPATH也是多此一举。
步骤1
步骤2
步骤3
步骤4
步骤5
jmeter的安装及环境变量配置
jmeter下载和安装
jmeter官网下载地址:ApacheJMeterDownloadApacheJMeter
解压后的路径
jmeter系统环境变量配置
同上,右键计算机属性高级系统设置系统属性高级环境变量添加如下的系统变量
JMETERHOME(新建)
变量名:JMETERHOME
变量值:D:apachejmeter5。4。3
用途:定义一个变量,供其他地方使用
CLASSPATH
变量名:CLASSPATH
变量值:;JMETERHOMElibextApacheJMetercore。jar;JMETERHOMElibjorphan。jar;JMETERHOMEliblogkit1。2。jar;
用途:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件(中间用英文;隔开)
打开JMeter
步骤1(同上)
编辑
步骤2
步骤3
在这里有一点需要注意,在我的安装目录中并没有找到liblogkit1。2。jar这个jar包,所以,在这里需要自行下载一个jar包到lib目录下。下载地址:logkitlJarFileDownload。
别忘了解压到JMeter的lib目录下哦
步骤4
打开bin目录下的JMeter的bat文件,即可运行打开JMeter
三:Ant下载安装
下载安装包到指定位置,然后解压apacheant1。10。7。zip到当前目录。(下载地址ApacheAntBinaryDistributions)
配置Ant环境变量
1)。新建ANTHOME:值为Ant安装路径(如解压后的:D:jmeterjmeterantapacheant1。10。7)
2)。PATH系统变量后添加:ANTHOMEbin
3)。CLASSPATH系统变量中添加:ANTHOMElib
设置完成保存,进入cmd窗口,输入antv,出现版本信息则安装成功
Ant配置JMeter,使用ant构建运行Jmeter,并且生成jtl,html报告
1)。将jmeterextras目录下的antjmeter1。1。1。jar文件拷贝到ant安装目录下的lib文件夹中。
2)。jmeter默认保存的。csv格式的文件,所以我们要修改jmeterbinjmeter。properties文件内容,把jmeter。save。saveservice。outputformatcsv修改为jmeter。save。saveservice。outputformatxml,并去掉前面的注释符号
优化测试报告下载优化模板,下载jmeterresultsshanheme。xsl,并放到jmeter的extras目录中(下载地址:jmeter。results。shanhe。me。xsl)
修改jmeterbinjmeter。properties文件,设置需要输出的内容为true,并去掉前面的注释符号,保存。这样执行完脚本后就会保存这些结果到。jtl文件里面(增加测试报告内容)
jmeter。save。saveservice。datatypetruejmeter。save。saveservice。labeltruejmeter。save。saveservice。responsecodetrueresponsedataisnotcurrentlysupportedforCSVoutputjmeter。save。saveservice。responsedatatrueSaveResponseDataforfailedsamplesjmeter。save。saveservice。responsedata。onerrortruejmeter。save。saveservice。responsemessagetruejmeter。save。saveservice。successfultruejmeter。save。saveservice。threadnametruejmeter。save。saveservice。timetruejmeter。save。saveservice。subresultstruejmeter。save。saveservice。assertionstruejmeter。save。saveservice。latencytrueOnlyavailablewithHttpClient4jmeter。save。saveservice。connecttimetruejmeter。save。saveservice。samplerDatatruejmeter。save。saveservice。responseHeaderstruejmeter。save。saveservice。requestHeaderstruejmeter。save。saveservice。encodingtruejmeter。save。saveservice。bytestrueOnlyavailablewithHttpClient4jmeter。save。saveservice。sentbytestruejmeter。save。saveservice。urltruejmeter。save。saveservice。filenametruejmeter。save。saveservice。hostnametruejmeter。save。saveservice。threadcountstruejmeter。save。saveservice。samplecounttruejmeter。save。saveservice。idletimetrue
3)。在任意地方新建文件夹,然后在文件夹下分别新建新建jmeterreport文件夹,script文件夹,build。xml文件
(配置ant的编译文件build。xml(注意:jmeter的extras文件下也有个build。xml文档,不要用这个文档来改,是两回事,这里的build文档是自己新建)
4)。新建build。xml文件,并修改文档里内容
lt;?xmlversion1。0encodingutf8?projectnameantjmetertestdefaultrunbasedir。tstampformatpropertytimepatternyyyyMMddHHmmtstamp!需要改成自己本地的jmeter目录propertynamejmeter。homevalueD:jmeterantapachejmeter5。4。3!jmeter生成的jtl格式的结果报告的路径propertynamejmeter。result。jtl。dirvalueD:jmetertestcasejmeterreportjtl!jmeter生成的html格式的结果报告的路径propertynamejmeter。result。html。dirvalueD:jmetertestcasejmeterreporthtml!生成的报告的前缀propertynameReportNamevalueTestReportpropertynamejmeter。result。jtlNamevalue{jmeter。result。jtl。dir}TestReport{time}。jtlpropertynamejmeter。result。htmlNamevalue{jmeter。result。html。dir}{time}SummaryReport。htmlpropertynamejmeter。detail。result。jtlNamevalue{jmeter。result。jtl。dir}TestReport{time}。jtlpropertynamejmeter。detail。result。htmlNamevalue{jmeter。result。html。dir}{time}DetailReport。htmltargetnamerun!targettargetnametesttaskdefnamejmeterclassnameorg。programmerplanet。ant。taskdefs。jmeter。JMeterTaskjmeterjmeterhome{jmeter。home}resultlog{jmeter。result。jtlName}!声明要运行的脚本。jmx指包含此目录下的所有jmeter脚本testplansdirD:jmetertestcasescriptincludes。jmxpropertynamejmeter。save。saveservice。outputformatvaluexmljmetertargetpathidxslt。classpathfilesetdir{jmeter。home}libincludesxalan。jarfilesetdir{jmeter。home}libincludesserializer。jarpathtargetnamereporttstampformatpropertyreport。datestamppatternyyyyMMddHH:mmtstampxsltclasspathrefxslt。classpathforcetruein{jmeter。detail。result。jtlName}out{jmeter。detail。result。htmlName}style{jmeter。home}extrasjmeter。results。shanhe。me。xslparamnamedateReportexpression{report。datestamp}xsltxsltclasspathrefxslt。classpathforcetruein{jmeter。result。jtlName}out{jmeter。result。htmlName}style{jmeter。home}extrasjmeterresultsdetailreport21。xslparamnamedateReportexpression{report。datestamp}xslt!拷贝报告所需的图片资源至目标目录copytodir{jmeter。result。html。dir}filesetdir{jmeter。home}extrasincludenamecollapse。pngincludenameexpand。pngfilesetcopytarget!targetnamesendmailmailmailhostsmtp。exmail。qq。commailport465ssltrueuser123456jieshunpay。cnpasswordGHtMMpSB5xpytzyMsubject预付卡前置接口测试报告fromqinliang。caijieshunpay。cntoaddress123456jieshunpay。cnmessage详细报告请查看附件messagefilesetdir{jmeter。result。html。dir}includename{ReportName}{time}。htmlfilesetattachmentsmailtargetproject
验证配置
将之前的Jmeter的脚本,与build。xml配置文件放在相同的目录下。在build。xml所在目录打开命令窗口(鼠标在空白处按下shift键后在右键)或者命令行cd到build。xml文件所在目录,输入antrun回车,执行测试
查看测试报告
总报告
明细报告
四:安装Jenkins并配置,构建持续集成
介绍:Jenkins是一个开源的软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,使软件的持续集成变成可能。
1)。下载Jenkins安装包,下载地址:Jenkinsdownloadanddeployment(安装Jenkins前确保您的电脑已经配置好JDK)
2)。下载好的jenkins。msi双击安装(傻瓜式)
3)。安装好后,会自动打开浏览器并打开地址:localhost:8080
4)。按照提示的路径输入密码
5)。选择插件安装,也可手动安装。主要是安装HTMLPublisherPlugin和AntInWorkspace
6)。安装完插件后,创建新用户
7)。在Jenkins中系统管理系统设置中,配置jdk和Ant。
8)。新建一个项目
脚本配置完成,点击应用。
进入项目主页,点击构建,生成报告
b站2023年全网最牛最全面的接口测试教程jmeter接口测试