一、前言
在进行接口测试的过程中,有时候需要对某个接口进行并发测试,测试接口在并发情况下的稳定性和性能等。这时候,我们可以使用Postman来实现并发请求。在本文中,我们将从以下方面对Postman并发请求进行详细讲解:
使用Postman Collection Runner进行并发请求 使用Postman的Pre-request Script来实现并发请求 并发请求的注意事项二、使用Postman Collection Runner进行并发请求
Postman Collection Runner 是 Postman 中进行批量测试的一种工具。它可以针对已经保存为 Collection 的接口,进行多组不同参数的快速测试。Collection Runner 不仅可以实现并发请求,还可以对不同的请求进行顺序、随机或循环执行。
首先,我们需要在 Postman 中预先创建好需要进行并发测试的接口集合(Collection)和对应的环境变量。如下图所示:
点击 Collection Runner,进入 Collection Runner 界面,选择相应的 Collection 和环境变量。
在 Collection Runner 界面中,我们可以选择在运行时使用不同的数据文件,例如 CSV 文件或 JSON 文件,来进行数据驱动测试。
在并发请求的场景中,我们需要在 Data 栏中填入请求参数,设置完成后,点击“Start Run”按钮开始并发请求。
{
"data": [
{
"name": "param1",
"value": "123"
},
{
"name": "param2",
"value": "456"
},
{
"name": "param3",
"value": "789"
}
],
"dataMode": "params"
}
如上图所示,我们可以设置并发执行的请求数量和间隔时间,进行测试,通过 Collection Runner 中的结果面板,查看每个接口请求的返回结果。并发请求的结果可以进行导出和统计分析。
三、使用Postman的Pre-request Script来实现并发请求
在使用Postman Collection Runner进行并发请求时,我们只能使用已经保存在 Collection 中的接口进行测试。如果我们需要对其他接口进行并发请求测试,那么就需要使用Postman的 Pre-request Script 功能来进行开发。
Pre-request Script 功能最常见的使用场景是对接口参数进行数据处理,生成动态的请求参数,我们可以利用这个功能,对请求参数进行自由的处理和设置,以达到并发请求的效果。例如,我们可以使用JavaScript代码,对请求参数中的一些字段进行随机、循环等处理,以生成多组请求参数。以下是一个使用 Pre-request Script 实现并发请求的示例:
let counter = 100;
pm.collectionVariables.set("counter", counter);
pm.sendRequest({
url: pm.environment.get('baseUrl') + '/api',
method: 'POST',
header: {
'Content-Type': 'application/json'
},
body: {
mode: 'raw',
raw: JSON.stringify({
"param1": "value1",
"param2": "value2",
"param3": "{{$randomInt}}",
"param4": "{{$moment().format('YYYY-MM-DD')}}"
})
}
}, function (err, res) {
if (err) {
console.log(err);
} else {
if (--counter > 0) {
console.log(counter);
pm.sendRequest(request, function (err, res) {});
} else {
console.log("done");
}
}
});
在上述代码中,我们使用计数器的方式来实现并发请求。我们首先设置计数器的初始值为100,并将其通过 pm.collectionVariables.set 方法存入 Collection 变量中。
接着,我们可以使用 pm.sendRequest 方法来实现发送请求,并将结果输出到 Postman 的 Console 窗口中。注意,在使用 Pre-request Script 实现并发请求时,我们需要手动设置请求头信息、请求方法、请求体等各项内容。
对于请求体中需要动态生成的参数,我们可以使用 Postman 内置函数来进行处理。例如,上述代码中使用了 $randomInt 函数来生成随机整数,使用双括号语法(Example: {{$randomInt}})来引用 Postman 内置函数。
四、并发请求的注意事项
在使用 Postman 进行并发请求时,需要注意以下几点:
并发请求会对被测服务产生一定的压力,避免在生产环境中进行大规模并发测试。 并发请求可能会产生数据争用、锁竞争等问题,需要根据测试需求、场景进行调整和处理。 并发请求需要对测试数据进行较高规模的准备,比如需要准备大量的测试数据文件,或者使用动态数据生成器。 并发请求可能会影响接口的实际响应时间。一般情况下不建议过多地使用并发请求,以保证接口的稳定性和性能。五、总结
本文详细介绍了使用 Postman 进行并发请求的方法,主要包括使用 Collection Runner 和 Pre-request Script 两种方式。通过本文的学习,可以使我们更加了解 Postman 并发请求的原理和使用方法,从而更好的进行接口测试和性能测试。