Jmeter自动化测试实施方案详解
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快Jmeter是目前最流行的一种测试工具基于此工具我们搭建了一整套的自动化方案包括了脚本添加配置、本地配置和运行、服务器配置等内容完成了自动化测试闭环通过这种快捷简便高效的方式希望可以解决自动化测试上手难的痛点。下面闲言少叙我们直接切入实战一、准备自动化测试物料1、开发运行工具Jmeter下载地址 Apache JMeter - Download Apache JMeter2、开发环境为已发布ready3、测试脚本已准备ready4、脚本运行环境已准备fat或者uat二、自动化测试通过标准1、成功Status 返回200 2、失败返回404、500等3、每个脚本专用断言三、自动化脚本存储脚本全部存储在Gitlab仓库中脚本的存储规范请参考GitLab Jmeter测试包通用设计1.0版项目根目录新建文件夹前面文件夹名和项目名保持一致后缀加“-test”如下图文件夹四、自动化测试Script Rules1、脚本命名为接口名2、存储类型为后缀jmx的文件3、线程数设置为1冒烟测试无需多线程并发4、必须包含断言判断状态检测设定为200五、自动化测试Script Steps1、添加线程组脚本命名为接口名点击存储 为后缀jmx的文件2、将线程数设置为1其他设置为默认如下图3、循环次数为不循环调度器不设置其他参数不设置如下图4、配置http协议选项a、添加http请求线程组右键“添加”选择“Sampler”再选择“HTTP请求”b、请求为post or get如下图此处根据实际情况设置为POSTc、内容编码UTF-8如下图此处根据实际情况设置为UTF-8d、Request报文填入Body Data如下图此处根据实际情况设置Request报文内容5、配置断言选项线程组右键“添加”选择“断言”此处选择“响应断言”。注意可以根据实际情况选择其他断言类型a、添加响应断言如下图所示b、选择响应字段为响应代码如下图所示c、匹配规则选择为包括如下图d、测试模式填入200如下图此处为开发自定义返回码请根据实际情况设置6、添加“HTTP信息头管理器” 在测试计划点击右键“添加”菜单选择“配置元件”再选择“HTTP信息头管理器” 即为HTTP Header Manager如下图可根据实际情况添加Content-Type等内容例如此处value设置为application/json如下图范例7、添加“查看结果树”在测试计划点击右键“添加”菜单选择“监听器”再选择“查看结果树”运行成功或失败分别可以查看结果树详情如下图所示查看响应数据可以看到response报文下图是一个运行失败结果的断言断言失败的信息也会有详细说明8、添加用表格查看结果在测试计划点击右键“添加”菜单选择“监听器”选择“用表格查看结果”添加后每次测试计划运行结束可以查看全部线程组的运行结果如下图所示9、添加“聚合报告”在测试计划点击右键“添加”菜单选择“监听器”选择“聚合报告”聚合报告主要用来收集本次测试计划运行的一些重要的性能指标数值例如Average、90%Line等等添加后每次测试计划运行结束可以查看到指标的有效数据如下图范例六、本地执行1、在当前测试计划中根据上述范例逐一添加本次需要运行的自动化脚本添加完成后的效果如下所示2、运行当前测试计划的全部用例然后用查看全部运行结果如下3、同样在结果树可以查看全部失败用例的详细报文七、服务器配置和运行Jenkins/TFS由于job最底层调度由Jenkins实现本小节重点介绍如何配置job参数等内容。TFS方面只需要通过接口或者命令行的方式直接调度Jenkins即可。1、Job命名规范定义在Jenkins中job的命名规范如下图所示以“JMETER”开头后面是服务名2、添加构建配置如图所示其中devops是基于Python编写的打包脚本/sso-support-test是Jmx脚本文件地址,report_server是邮件服务mail是报告接收人的邮箱地址3、构建触发器配置如图所示这里配置每两分钟去轮循检查服务器是否有更新4、源码管理添加并选择Git仓库然后配置Repo地址最后选择分支dev非强制八、服务器生产自动化报告自动化报告目前支持两种形式邮件和Html报告查看。1、邮件方式报告查看。服务器端配置响应接收人员的邮件地址后每次自动化运行结束会自动发送邮件报告到指定关注人如下图所示邮件Report中主要包含以下内容Summary栏目包含所有请求的总结总数失败数成功率平均时间最小时间最大时间等。Pages栏目主要包含了单个请求的详情内容Failure Detail主要是错误详情相关内容2、Html报告查看。Html内容展示目前和邮件基本保持一致不再展开详述如下图所示最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。