使用jMeter构造大量并发的随机HTTP请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jMeter构造大量并发的随机HTTP请求相关的知识,希望对你有一定的参考价值。

参考技术A 在前一篇文章 使用jMeter构造大量并发HTTP请求进行微服务性能测试 里,我介绍了如何用jMeter构造并发HTTP请求。但是通过文中介绍的方式构造的并发请求,其请求参数都是硬编码的'Wang'.

有没有办法让每个并发请求查询的参数都不一样呢?比如让jMeter构造一些从1到100的随机数,作为查询请求的一部分?

JerryTestCustomer_<1~100>

创建一个User Parameter:

Parameter的Name为uuid,值为$__Random(1,100)

这个__Random(1,100)是jMeter提供的随机数发生器。

然后在HTTP Request的Parameters标签页里面,使用这个参数即可。

随机数生成生效,每个并发请求发出的查询参数现在都不一样了。

如何使用jMeter发送两个逻辑上相关的HTTP请求

在前一篇文章使用jMeter构造大量并发的随机HTTP请求里我通过jMeter构造了大量的HTTP GET并发请求,对服务器产生了大量读操作。

现在我有另一个需求场景:假设我开发了一个创建Service Request的微服务,需要使用HTTP post调用。为了防止Cross Site Request Forgery(跨站域请求伪造),这个微服务调用时需要传一个XSRF token,这个XSRF token需要另一个HTTP get请求从服务器请求。

因此,这里存在两个逻辑上相关的HTTP请求:

1. 先调用HTTP get从服务器读取XSRF token

2. 将第一步获得的XSRF token作为HTTP post 请求头部的一个参数传至服务器。

用jMeter怎么实现这个场景呢?

总的思路就是使用Transaction Controller,将http get请求和http post请求包在一起,如下图所示。

技术分享图片

在第一个http get请求里,使用HTTP头部参数x-csrf-token去读取token。

技术分享图片

创建一个参数jerrycsrftoken,使用正则表达式将服务器通过HTTP响应头部返回的token解析出来并保存。

技术分享图片

然后创建第二个HTTP post请求,在请求头部使用第一个请求创建的参数jerrycsrftoken即可。

技术分享图片

这是我HTTP post请求的body内容,里面使用了jMeter自带的随机数发生器作为创建成功的Service Request的后缀。

技术分享图片

最后使用jMeter成功创建的Service Request在系统显示如图:

技术分享图片

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

技术分享图片

技术分享图片

以上是关于使用jMeter构造大量并发的随机HTTP请求的主要内容,如果未能解决你的问题,请参考以下文章

如何使用jMeter发送两个逻辑上相关的HTTP请求

如何使用jMeter发送两个逻辑上相关的HTTP请求

使用jMeter构造大量并发HTTP请求进行微服务性能测试

初学者Jmeter对HTTP请求压力测试并发测试的简单使用

jmeter随机批量请求

JMeter笔记12 | JMeter集合点