您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  要资料 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 讲座吧   成长之路  
会员   
 
   
 
  
每天15篇文章
不仅获得谋生技能
更可以追随信仰
 
 
     
   
 订阅
  捐助
性能测试与持续集成
 
来源:简书  发布于: 2017-4-17
来自于要资料   601 次浏览     评价:      
 

目的

1.将性能测试与持续集成挂接起来

2.性能测试: JMeter

3.持续集成: Jenkins

JMeter

1.下载JMeter,官网: http://jmeter.apache.org/

2.创建测试计划: 访问 http://www.cnblog.com ,验证Response的返回值中存在cnblog

Thread组配制

Http请求

Response断言

3.使用GUI的JMeter查看运行测试结果

GUI JMeter测试结果

4.使用命令行执行测试

-J 指定生成的结果格式为xml,-t 指定测试文件,-l 测试结果

java -jar ApacheJMeter.jar -Jjmeter.save.saveservice.output_format=xml -n -t

/Users/yjshi/Downloads/TestPlan.jmx -l TestPlan.jtl

结果

Writing log file to: /Users/yjshi/Downloads/apache-jmeter-3.0/bin/jmeter.log

Creating summariser <summary>

Created the tree successfully using /Users/yjshi/Downloads/TestPlan.jmx

Starting the test @ Thu Aug 04 18:41:43 CST 2016 (1470307303526)

Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445

summary = 10 in 00:00:01 = 8.3/s Avg: 333 Min: 183 Max: 539 Err: 0 (0.00%)

Tidying up ... @ Thu Aug 04 18:41:44 CST 2016 (1470307304767)

... end of run

JMeter已经可以通过命令行来执行

Jenkins

配制JMeter

1.下载Jenkins包,官网: https://jenkins.io/

2.启动Jenkins

Running from: /Users/yjshi/Downloads/All/Software/jenkins/jenkins.war

webroot: $user.home/.jenkins

Aug 04, 2016 5:52:13 PM winstone.Logger logInternal

INFO: Beginning extraction from war file

Aug 04, 2016 5:52:13 PM org.eclipse.jetty.util.log.JavaUtilLog info

INFO: jetty-winstone-2.9

Aug 04, 2016 5:52:19 PM org.eclipse.jetty.util.log.JavaUtilLog info

INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet

Jenkins home directory: /Users/yjshi/.jenkins found at: $user.home/.jenkins

Aug 04, 2016 5:52:26 PM org.eclipse.jetty.util.log.JavaUtilLog info

INFO: Started SelectChannelConnector@0.0.0.0:8080

Aug 04, 2016 5:52:26 PM winstone.Logger logInternal

INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled

Aug 04, 2016 5:52:26 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started initialization

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Listed all plugins

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Prepared all plugins

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started all plugins

Aug 04, 2016 5:52:32 PM jenkins.InitReactorRunner$1 onAttained

INFO: Augmented all extensions

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Loaded all jobs

Aug 04, 2016 5:52:35 PM hudson.model.AsyncPeriodicWork$1 run

INFO: Started Download metadata

Aug 04, 2016 5:52:35 PM org.jenkinsci.main.modules.sshd.SSHD start

INFO: Started SSHD at port 54488

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Completed initialization

Aug 04, 2016 5:52:35 PM hudson.UDPBroadcastThread run

INFO: Cannot listen to UDP port 33,848, skipping: java.net.SocketException: Can't assign requested address

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started initialization

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Listed all plugins

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Prepared all plugins

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Started all plugins

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Augmented all extensions

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Loaded all jobs

Aug 04, 2016 5:52:35 PM jenkins.InitReactorRunner$1 onAttained

INFO: Completed initialization

Aug 04, 2016 5:52:35 PM hudson.WebAppMain$3 run

INFO: Jenkins is fully up and running

3.安装Performance plugin插件: Performance Plugin

.Performance plugin

4.配制Jenkins中的JOB

echo 'begin testing'

java -jar /Users/yjshi/Downloads/apache-jmeter-3.0/bin/ApacheJMeter.jar -Jjmeter.save.saveservice. output_format=xml -n -t /Users/yjshi/Downloads/TestPlan.jmx -l TestPlan.jtl

echo 'testing end'

5.运行JOB,查看结果

Jenkins执行结果

6.在JOB的workspace下会生成两个文件jmeter.log TestPlan.jtl

jmeter.log TestPlan.jtl

配制运行报告

1.添加测试报告

 

报告读取

2.查看统计结果

统计结果

后续

1.可将jmx文件存放到仓库中,便于维护和管理

2.将JOB添加到版本构建中,在版本构建完成后,自动执行性能,确保每次的版本Build均满足性能需求

参考

1.JMeter

2.Jenkins

3.Performance Plugin

4.Continuous Integration 101: How to Run JMeter With Jenkins

 

 

   
 订阅
  捐助
相关文章

性能测试十问:测试经理篇
web前端性能优化进阶路
性能测试综述
VS2010中自动化测试—Web性能测试
相关文档

性能测试
性能测试执行之测试脚本录制
性能测试进阶1-流程篇
性能测试进阶2-方案篇
相关课程

性能测试方法与技术
使用LoadRunner进行性能测试
Android应用的性能测试
基于Android的单元、性能测试
 

LoadRunner性能测试基础
软件测试结果分析和质量报告
面向对象软件测试技术研究
设计测试用例的四条原则
功能测试中故障模型的建立
性能测试综述
更多...   


性能测试方法与技术
测试过程与团队管理
LoadRunner进行性能测试
WEB应用的软件测试
手机软件测试
白盒测试方法与技术

相关咨询服务
建立软件测试规范
性能评测与调优


某博彩行业 数据库自动化测试
IT服务商 Web安全测试
IT服务商 自动化测试框架
海航股份 单元测试、重构
测试需求分析与测试用例分析
互联网web测试方法与实践
基于Selenium的Web自动化测试
更多...   
 
 
 
 
 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
 

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号