版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Jenkins集成Jmeter进行Web自动化性能测试By huangweihuaJenkins集成Jmeter进行Web自动化性能测试1一、安装Jmeter31.1下载解压版:31.2解压31.3配置环境变量41.4调试5二、安装badboy工具62.1下载:62.2安装6三、录制Jmeter脚本7四、Jenkins集成Jmeter方式一:CMD来执行Job144.1下载插件144.2新建一个Job154.3在Job里面增加一个构建步骤来执行压力测试154.4在Job里面增加一个获取测试结果的步骤154.5执行Job并查看结果16五、Jenkins集成Jmeter方式二:Ant来执行Job1
2、75.1、Ant安装175.2、Jmeter的配置修改205.3、编写build.xml215.3、Jenkins的Job配置265.4、执行job并查看结果27问题29一、 安装Jmeter1.1下载解压版:下载地址:/download_jmeter.cgi1.2解压我下载的是2.9版本,解压即可1.3配置环境变量新增JMTER_HOME变量在path中增加Jmeter的的路径1.4调试在cmd里面输入:jmeter h二、 安装badboy工具badboy是录制Jmeter性能测试脚本的工具2.1下载:下载地址;.au/2.2安装按步骤安装即可
3、三、 录制Jmeter脚本这里介绍badboy来录制Jmeter脚本1、 输入web地址并点击浏览2、 增加操作步骤并命名步骤3、 输入用户名和密码并点击“登录”4、 结束录制5、 导出Jmeter可运行的脚本使用Jmeter优化脚本(1) 打开Jmeter工具,选择“文件”->“打开”选择刚才保存的文件(.jmx类型),将文件导入进来了。(2) 配置线程数量,即向服务器发送的请求并发数量(3) 配置登录用户名和密码的参数化增加一个CSV配置元件用来存放账号和密码。四、 Jenkins集成Jmeter方式一:CMD来执行Job这种方式是通过cmd来运行执行Jmeter的负载脚本,用Per
4、formance插件来生成图表。4.1下载插件需要Jenkins的Performance plugin插件来生成图表报告。4.2新建一个Job4.3在Job里面增加一个构建步骤来执行压力测试4.4在Job里面增加一个获取测试结果的步骤获取的是所有的监控文件数据,便于在Jenkins执行结果里面对每次的性能监控进行比较。4.5执行Job并查看结果下图的结果是其他性能测试结果截图,而不是上面登录功能的监控结果。五、 Jenkins集成Jmeter方式二:Ant来执行Job通过Ant来执行Jmeter的负载脚本,并讲Jmeter测试结果由jtl文件转换成html报告。Jmeter脚本这里用另外一个脚
5、本,跟前一章节不一样。5.1 、Ant安装(1)下载Ant并加压(2)添加Ant所需依赖包在Jmeter的extras下找到ant所需的jar包(3) 复制到Ant的lib目录下(4)配置Ant的环境变量(5)调试Ant在cmd命令里输入ant -v 查看ant的版本号5.2、Jmeter的配置修改1、修改perties文件,增加输入内容修改bin目录下的perties文件,将相关都置为true,以便在详细报告里面能查看到更多数据2、下载jmeter.results.shanhe.me.xsl样式文件,并放入到extras目录下此文件是定义详细报告样式的
6、文件。5.3、编写build.xml1、Ant脚本简单介绍Projects每一个build.xml只有一个Project,Project表示一个工程吧,里面可以知道这个工程的全局属性。这个比较固定,照写就可以。如下:html view plain copy1. <project name="helloWorld" basedir="." default="main"> 2. . 3. <target name=&q
7、uot;main" depends="clean,run"/> 4. </project> 熟悉name顺便定义一个就行。basedir指定相对路径的基础,这里是指定了当前路径。default是指如果执行ant时不指定哪一个target时,就使用这个默认的。Targetstarget翻译过来就是目标吧,每一个project都会包含很多的目标,例如编译/compile、执行/run、清理clean、打包/package等等。特别是打包,我们可能要针对不同的客户打不同的包给他们,这时候就显得得心应
8、手了。例子如下:html view plain copy1. <target name="run" depends="jar"> 2. <java fork="true" classname="$main-class"> 3.
9、0; <classpath> 4. <path refid="classpath"/> 5. &
10、lt;path location="$jar.dir/$.jar"/> 6. </classpath> 7. </java> 8. </target> 属性name是这个target的名字,可
11、以被其它的target引用。我们看depends的熟悉,jar就是另外一个target的name。depends是指定target之间的依赖关系,这样就省去我们很多的麻烦。例如,在run之前,需要先执行compile这个target,否则就没有东西可以run了。通过depends的指定,我们在想run的时候就run吧,Ant自然会根据我们的depends先执行其它的依赖,省心省力。Tasks而要实现一个目标,需要执行很多的任务的,因此Tasks是被包含在Targets里面的。从上面的例子可以看到,<java />这个元素就是一个task。这是编写build.xml的关键,因为这个才
12、是真正被执行的。Ant内置了很多的Task,如复制文件,删除文件夹,压缩文件等等,下面的链接/manual/tasklist.html包含了所有的。平时使用的时候可以随时查看。Propertiesproperty相对于C+里面的宏吧,或者Java中的constant。这是一个key-value的形式出现的。这个key可以在其它地方中引用,通过$key这种形式。如:html view plain copy1. <property name="build.dir" location="
13、;build"/> 2. <target name="init"> 3. <mkdir dir="$build.dir"/> /创建路径 4. </target> 这个$build.dir现在是代表了build这个相对路径文件夹,我还可以在不改变build.xml的情况下,通过Ant的执行参数来改变这个值。如Ant
14、-Dbuild.dir = build-debug。2、书写build脚本如下:<?xml version="1.0" encoding="UTF-8"?><project name="ant" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <pr
15、operty environment="env"/> <property name="ReportName" value="TestReport" /> <property name="jmeter.home" value="E:softwareapache-jmeter-2.9" /> <property name="jmeter.result.dir" value="$env.WORKSPACE/results/$env.BU
16、ILD_ID" /> <property name="jmeter.result.jtlName" value="$jmeter.result.dir/$ReportName.jtl" /> <property name="jmeter.result.htmlName" value="$jmeter.result.dir/$ReportName.html" /><property name="jmeter.result.htmlName-detail"
17、; value="$jmeter.result.dir/$ReportName-detail.html" /> <target name="run"> <echo message="start."/> <antcall target="clean" /> <antcall target="test" /> <antcall target="report-sumarry" /><antcall target
18、="report-detail" /> </target> <target name="clean"> <mkdir dir="$env.WORKSPACE/results/$env.BUILD_ID" /> </target> <target name="test"> <taskdef name="jmeter" classname="grammerplanet.ant.taskdefs.jmete
19、r.JMeterTask" /> <jmeter jmeterhome="$jmeter.home" resultlog="$jmeter.result.jtlName"> <testplans dir="$env.WORKSPACE" includes="test.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> <
20、;/jmeter> </target> <path id="xslt.classpath"> <fileset dir="$jmeter.home/lib" includes="xalan*.jar"/> <fileset dir="$jmeter.home/lib" includes="serializer*.jar"/> </path> <target name="report-sumarry">
21、; <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/e
22、xtras/jmeter-results-detail-report_21.xsl"> <param name="dateReport" expression="$report.datestamp"/> </xslt> <copy todir="$jmeter.result.html.dir"> <fileset dir="$jmeter.home/extras"> <include name="collapse.png" /
23、> <include name="expand.png" /> </fileset> </copy> </target> <target name="report-detail"> <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> <xslt classpathref="xslt.classp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年场民法典技术合同合同法务顾问合同4篇
- 2025年度智能穿戴设备售后维修与保养合同范本4篇
- 上海办公室装修合作合同一
- 2025年度土地征收与补偿测绘服务合同范文4篇
- 二手车交易协议样式(2024版)版B版
- 2025年度咖啡厅租赁合同77069(含咖啡文化体验)4篇
- 2025年度智能产品全球分销渠道拓展合同协议书4篇
- 2025年度汽车零部件销售合同范本(二零二五版)4篇
- 2025年度智慧社区市场调研服务合同书4篇
- 专业驾驶员商业秘密保护协议(2024版)一
- 小学数学知识结构化教学
- 视频监控维保项目投标方案(技术标)
- 社会组织能力建设培训
- 立项报告盖章要求
- 2022年睾丸肿瘤诊断治疗指南
- 被执行人给法院执行局写申请范本
- 主变压器试验报告模板
- 安全防护通道施工方案
- 视觉元素对心理感知的影响
- 柴油供货运输服务方案
- 110应急联动预案
评论
0/150
提交评论