阅读 159

压测篇03:准备JMeter脚本

以一个接口举例(GET方法):https://localhost/xcxbigeye/geteyestyle(获取照片人物的眼睛参数)

Request:
image/必须/图片参数
openid/必须/微信openid
province_id/必须/省份id

Response:
errorCode/number/非必须
errorMsg/string/非必须
responseData/object/非必须
复制代码

1、添加线程组

在Test Plan上点击鼠标右键-->Add-->Threads(Users)→Thread Group,添加测试场景设置组件:

  • Name:线程组名称
  • 1)线程数:即用户数,一个虚拟用户占用一个线程,虚拟用户的并发数
  • 2)准备时长:设置的虚拟用户数需要多长时间全部启动
  • 3)循环次数:每个线程发送请求的次数,总请求数=线程数*循环次数。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本

2、添加HTTP Request

在Thread Group右键-->Add-->Sampler-->HTTP Request: 输入对应的协议、IP或域名和path 我压测的时候开发把请求写死了,就没有添加参数。如果需要手动添加请求参数,在下方的Parameters添加即可

3、添加断言

在HTTP Request上右键-->Add-->Assertions,选择需要的断言。 这个接口是返回眼睛的具体参数,下面举例的断言是判断errorCode返回是否为0。断言可根据接口的实际情况调整。

4、添加监听器

在Thread Group上右键-->Add-->Listener-->View Results Tree 添加完监听器,可以点击运行按钮看其是否可以正常返回,Response data可查看返回参数。

对于我这个接口到这里脚本就算配置完成了,保存后就可以使用这个脚本压测了。如果要跑多个接口或者需要本地使用表格形式传参,可以参考下面两步

5、参数化

新建csv data set config: 在HTTP Request上右键-->Add-->Config Element-->CSV Data Set Config

  • filename:选择本地准备好的csv文件
  • Variable Names:需要参数化的参数名

6、关联

JMeter中关联可以在需要获取数据的请求上,右键-->Add-->Post Processors-->JSON Extractor,选择需要的关联方式,如下图有很多种方法可以提取动态变化数据: