vlambda博客
学习文章列表

核心工具JMeter 接口测试专题(三)

简介

作为性能测试重量级工具Jmeter在接口层表现优秀,因此使用Jmeter作为接口自动化测试工具不失为一种简单、易用的实践方案。另外,Jmeter工具生态链中的录制等工具可以帮助你快速积累自动化回归case。一起来看看如何抱着这条大腿搞测试吧!


JMeter接口测试使用方案

首先,作为测试的规划者要搞明白要测的是啥东西——接口,如果是HTTP接口Jmeter在不需要额外开发的场景下Happy的转起来,如果是Dubbo、Protobuf、Thrift这一类神一样的协议规范类接口就有一些酸爽的事要搞了——匹配协议开发出对应的JAR包,进而支持对应的协议。本文以常用的HTTP为例简单介绍如何搞起的。搞清楚接口覆盖的范围后就可以整理出一批需要覆盖的接口列表——最好按照业务逻辑将这些接口整理,这批接口就是后面自动化测试的对象了。

再拿到需要测试的接口后接下来就是着手整理测试用例了。测试用例首先需要从业务层次进行准备,可以从正面和负面准备。实际使用中通过调节不同的参数和路径覆盖不同的场景。 

JMeter一般按照下面过程组织测试过程:测试计划>>线程组>>HTTP请求头设置(Cookie、Content-type等)>>Sampler>>响应断言,如下系列图所示,详情可到查看JMeter使用帮助文档。



核心工具JMeter 接口测试专题(三)

核心工具JMeter 接口测试专题(三)

核心工具JMeter 接口测试专题(三)

核心工具JMeter 接口测试专题(三)

核心工具JMeter 接口测试专题(三)

核心工具JMeter 接口测试专题(三)


最后运行结果如下:



JMeter与自动化集成

如果一次运行自动化是毫无意义的,长期进行回归才是我们持续把控质量的目标。一个好的时间方案是接触与Jenkins插件对JMeter的支持实现接口测试的集成。执行并显示优雅的结果仅需两步:

  1. shell执行框中加入JMeter的执行调用

    jmeter -n -t 脚本名称.jmx -l result.jtl

  2. 使用Jenkins的“Publish HTML reports” 和“Publish performance test result report” 的插件展示result.jtl