Jmeter+Maven+jenkins+eclipse搭建自动化测试平台
背景首先用jmeter录制或者书写性能测试的脚本用maven添加相关依赖把性能测试的代码提交到github在jenkins配置git下载性能测试的代码配置运行脚本和测试报告配置运行失败自动发邮件通知这样一来性能测试的job配置完成。接着把性能测试的job配置成开发job的下游job一旦开发有了新的代码提交运行开发自己的job后就会自动触发我们性能测试的job。这样我们就实现了接口性能测试的全自动化我们只需要关注测试失败的邮件1 环境搭建下载安装 jdk eclipse。下载安装jenkins。下载maven 并进行解压。下载jmeter并解压。2 准备性能测试的脚本启动 jmeter (双击 jmeter解压目录下的bin\jmeter.bat)。用jmeter书写test cases并导出(推荐)。或者你可以用jmeter录制脚本确保运行通过后导出。当然你可以选择用badboy录制脚本确保运行通过后导出。badboy支持ie浏览器的录制也可以使用chrome插件BlazeMeter下载链接https://www.chromefor.com/blazemeter-the-continuous-testing-platform_v3-2-0/ 注意如果导出不了脚本是版本原因下载最新的版文本即可3 为性能测试脚本创建maven project打开eclipse并创建一个 maven project。在src/test/目录下创建jmeter文件夹把准备好的性能测试的脚本复制到这个文件夹下。在src/test/目录下创建resource文件夹并把测试模板E:\apache-jmeter-3.2\apache-jmeter-3.2\extras的如下文件复制到这个resource文件下。并把如下文件从apache-jmeter-3.2\bin目录下复制到src/test/jmeter文件里。在maven脚本里即pom.xml添加jmeter-maven-plugin相关依赖如下project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion groupIdcom.performance.test/groupId artifactIdPushNotificationPerformanceTest/artifactId version0.0.1-SNAPSHOT/version packagingjar/packaging namePushNotificationPerformanceTest/name urlhttp://maven.apache.org/url properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding jmeter.result.jtl.dir${project.build.directory}\jmeter\results/jmeter.result.jtl.dir jmeter.result.html.dir${project.build.directory}\jmeter\html/jmeter.result.html.dir jmeter.result.html.dir1${project.build.directory}\jmeter\html1/jmeter.result.html.dir1 ReportNameTestReport/ReportName /properties dependencies dependency groupIdjunit/groupId artifactIdjunit/artifactId version3.8.1/version scopetest/scope /dependency /dependencies build plugins plugin groupIdcom.lazerycode.jmeter/groupId artifactIdjmeter-maven-plugin/artifactId version2.3.0/version executions execution idjmeter-tests/id goals goaljmeter/goal /goals /execution /executions /plugin plugin groupIdorg.codehaus.mojo/groupId artifactIdxml-maven-plugin/artifactId version1.0-beta-3/version executions execution phaseverify/phase goals goaltransform/goal /goals /execution /executions configuration transformationSets transformationSet dir${jmeter.result.jtl.dir}/dir stylesheetsrc\test\resources\jmeter-results-detail-report_21.xsl/stylesheet outputDir${jmeter.result.html.dir}/outputDir fileMappers fileMapper implementationorg.codehaus.plexus.components.io.filemappers.FileExtensionMapper targetExtensionhtml/targetExtension /fileMapper /fileMappers /transformationSet transformationSet dir${jmeter.result.jtl.dir}/dir stylesheetsrc\test\resources\jmeter-results-report_21.xsl/stylesheet outputDir${jmeter.result.html.dir1}/outputDir fileMappers fileMapper implementationorg.codehaus.plexus.components.io.filemappers.FileExtensionMapper targetExtensionhtml/targetExtension /fileMapper /fileMappers /transformationSet /transformationSets /configuration !-- using XSLT 2.0 -- dependencies dependency groupIdnet.sf.saxon/groupId artifactIdsaxon/artifactId version8.7/version /dependency /dependencies /plugin /plugins /build /project4 在eclipse运行性能测试脚本选中性能测试的project 右击然后在下拉框中选择run as -》maven build 然后在弹出的对话框的Goals 写上verify最hou点击run如下图。运行后会有测试结果文件如下图5 在jenkins 运行性能测试脚本并配置测试结果在jenkins上安装如下插件Maven Integration plugin Maven用于jenkins可以创建maven job Git plugin 用于从github下载性能测试的代码Performance plugin 用于显示测试报告HTML Publisher plugin 用于显示相关接口测试结果的报告。1、jenkins环境准备全局工具配置目录系统管理--全局工具配置1)配置jdk地址maven配置2、配置maven工程1 在jenkins创建maven job2在jenkins上配置运行脚本首先在工程里点击配置选项3在jenkins上配置测试结果报告5配置完了点击buid now开始运行结果如下下面的报告是更换了报告的模板具体实现百度ps关于显示测试结果1. 如在jenkins使用html publisher查看报告时发现显示不美观不全的现象很多东西显示不了,解决这个问题可以在jenkins系统管理中输入以下脚本运行就可以解决这个问题了System.setProperty(hudson.model.DirectoryBrowserSupport.CSP, )更多解决方法https://zhuanlan.zhihu.com/p/280809752.html结果好多为空请把jmeter.property的相应的false改为true。#测试报告信息展示 jmeter.save.saveservice.data_typetrue jmeter.save.saveservice.labeltrue jmeter.save.saveservice.response_codetrue # response_data is not currently supported for CSV output jmeter.save.saveservice.response_datatrue # Save ResponseData for failed samples jmeter.save.saveservice.response_data.on_errortrue jmeter.save.saveservice.response_messagetrue jmeter.save.saveservice.successfultrue jmeter.save.saveservice.thread_nametrue jmeter.save.saveservice.timetrue jmeter.save.saveservice.subresultstrue jmeter.save.saveservice.assertionstrue jmeter.save.saveservice.latencytrue jmeter.save.saveservice.connect_timetrue jmeter.save.saveservice.samplerDatatrue jmeter.save.saveservice.responseHeaderstrue jmeter.save.saveservice.requestHeaderstrue jmeter.save.saveservice.encodingfalse jmeter.save.saveservice.bytestrue # Only available with HttpClient4 jmeter.save.saveservice.sent_bytestrue jmeter.save.saveservice.urltrue jmeter.save.saveservice.filenametrue jmeter.save.saveservice.hostnametrue jmeter.save.saveservice.thread_countstrue jmeter.save.saveservice.sample_counttrue jmeter.save.saveservice.idle_timetrue最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。