使用Jmeter一次测试多个API的性能

时间:2017-09-08 07:53:32

标签: rest web-services jmeter jmeter-plugins web-api-testing

我的项目中有大约100个RESTful API。

由于某个特定原因,我希望一次性运行所有100个API,每个API都使用随机数'n'的循环计数。

有可能吗?我该怎么做。可以写一个脚本或什么?

一个建议是 - 使用CSV数据集配置,我们可以测试单个API的多个实例(比如针对1000个用户的Login API测试)。

但在我的情况下,我想一次性测试100个API。对于每个API - HTTP请求参数,如方法(GET / POST / GET等),路径和正文数据将是不同的。

我也没有看到使用CSV数据集配置设置这些HTTP请求参数的方法。

1 个答案:

答案 0 :(得分:0)

  1. 要随机执行您的请求次数,您可以使用__Random() function。该函数可以直接放在Thread Group的“循环计数”部分或Loop Controller
  2. 如果要对具有不同数据的不同采样器进行参数化,则逻辑上可以使用不同的CSV数据集配置实例。与其他配置元素一样,CSV数据集配置跟随Scoping Rules,因此如果您将其作为采样器的子项 - 它将应用于此采样器,因此您将能够拥有尽可能多的CSV数据集配置元素你喜欢:

    JMeter CSV Data Set Config

  3. 最后,您不必在同一个线程组下保持测试不同API端点的测试场景,您可以使用不同的线程组来保留不同API端点的测试场景。此外,您可以使用单独的Test Fragments甚至separate .jmx files来针对不同的API端点存储测试。

  4. 如果上面没有回答您的问题,您需要对其进行修改以明确说明您要实现的目标,以便我们能够提出最合适的JMeter配置。