群集·测试人在路上测试开发软件测试

Jmeter外部传参

2018-08-23  本文已影响7人  沈宥

1、首先肯定是添加线程组和http请求:见上一篇Jmeter的安装和基础使用:Jmeter实现接口压测 - for MacOSX

Screen Shot 2018-08-23 at 10.39.30 AM.png

2、涉及到cookie的添加到header中

Screen Shot 2018-08-23 at 2.31.30 PM.png

3、在使用Jmeter进行压力测试时,如果提交的参数不变,那么就会读取缓存数据,无法测试出服务器真正的负载能力,所以要对提交的参数进行参数化来解决这一问题。

在Jmeter中经常使用 CSV Data Set Config 读取外部数据源完成参数化

说明:

Filename:保存参数化数据的文件目录

File encoding:UTF-8

Variable Names(comma-delimited):对应参数文件每列的变量名, (如:有几列参数,在这里面就写几个参数名称,每个名称中间用分隔符分割)

Delimitet:参数文件分隔符,用来在“Variable Names”中分隔参数,与参数文件中的分隔符保持一致即可;

Allow quote data:是否允许引用数据,默认false,选项选为“true”的时候对全角字符的处理出现乱码 ;

Recycle on EOF?:是否循环读取参数文件内容

Stop thread on EOF?:当Recycle on EOF为False时(读取文件到结尾),停止进程,当Recycle on EOF为True时,此项无意义

Sharing Mode: 多线程的时候参数化取值策略

(1)某个参数新建.csv文件,写入要key:value


Screen Shot 2018-08-23 at 3.07.03 PM.png

(2)添加外部引用设置项,引用已建文件


Screen Shot 2018-08-23 at 2.30.01 PM.png

(3)传参时引用方式(以post请求为例)


F2E61DA4-E5FE-4729-A827-3F32259D88C5.png

4、压测结果输出到文件内
(1)新建文件,用来接收返回结果


Screen Shot 2018-08-23 at 3.13.13 PM.png

(2)设置需要的返回结果

97387D8F-A29C-48C0-9C37-F9C5FA0C1BEE.png

(3)结果文件


Screen Shot 2018-08-23 at 2.35.06 PM.png

5、当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联

说明:

引用名称:下一个请求要引用的参数名称,如填写supplyCluesId,则可用${supplyCluesId}引用它

正则表达式:正则表达式提取器根据该处的设置进行信息匹配,()括起来的部分就是要提取的。

模板:代表从正则表达式结果引用的样式,其实结果是一组,而不是一个。$1$代表这一组结果的第1个,以此类推;

匹配数字:0代表正则表达式结果组中随机,1代表全部

缺省值:当引用不对时显示传递的信息,一般写一个ERROR。
EB6F8645-0620-4C7E-A167-6ED93239E8C9.png

6、聚合报告
数据分析:

Samples:发出请求数量

Average:平均响应时间(单位:)。默认是单个Request的平均响应时间

Median:中位数,也就是50%用户的响应时间

90%Line:90%用户的响应时间

95%Line:95%用户的响应时间

99%Line:99%用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:出错率

Throughput:吞吐量,默认情况下表示每秒完成的请求数

KB/sec:每秒从服务器端接受到的数据量

(1)结果展示图


Screen Shot 2018-08-23 at 2.55.59 PM.png

(2)数据可导出至文件内,记得勾选 Save Table Header,这样报告中才有对应的header

Screen Shot 2018-08-23 at 2.57.10 PM.png 49361988-D826-4B98-9616-95ABBA69B962.png

(3)导出的数据长这样


Screen Shot 2018-08-23 at 3.28.50 PM.png
上一篇下一篇

猜你喜欢

热点阅读