原文出处:http://blog.chenlb.com/2009/03/jmeter-use-dynamic-params-or-csv-for-test.html

常看到的jmeter测试例子,都是用固定的url(包括固定的参数)。现在我有这样一个测试需求:为了模拟用户输入的参数对某个URL进行负载测试(或压力测试)。用户访问的URL(主要的就是参数)可以在web服务器的访问日志的分解得到,这样测试数据准备好,现要jmeter根据这些测试数据去做负载测试。

找了一些资料,找到了解压方案:用Jmeter提供的 CSV Data Set Config ,它可以为每一个线程的每一个测试(取样)给新的一行数据。然后在在取样器里用${}方式来引用它们。

一般 csv 中的行数都会大于线程数,可以把测试任务放到一个循环控制器中,下面来演示下创建一个这样的测试计划:

1、一个线程组

Jmeter 用动态参数进行测试

 用5个线程,这5个线程20秒内启动完,仅做一次。

2、创建一个循环控制器

Jmeter 用动态参数进行测试

 每个线程循环2次,这样就相当与对服务器2*5=10次请求,CSV 数据一般会多于10行记录。

3、创建一个 CSV Data Set Config

Jmeter 用动态参数进行测试

 demo_test.csv 文件放到 “Demo 测试计划.jmx”的相同目录,文件编写用GBK,测试计划可引用的属性名是sub_url(多个用逗号分隔,一般有多少列数据就有多少属性),数据分隔用\t(tab)。

4、创建一个HTTP 请求(取样器)

Jmeter 用动态参数进行测试

 路径中引用 CSV 中的数据,${sub_url}。

5、创建一个断言

Jmeter 用动态参数进行测试

我这里服务器有错是返回非200的响应代码是正确的。

现在就配好了,可以在demo_test.csv文件里加些参数,然后试用下,在察看结果树可以看到服务器返回的结果,同时可以验证下是否每个线程的每次请求是否为csv中的新一行。

相关文章:

  • 2022-01-07
  • 2021-11-15
  • 2021-12-22
  • 2021-09-14
  • 2021-04-02
  • 2021-05-19
  • 2021-11-29
猜你喜欢
  • 2022-12-23
  • 2021-10-11
  • 2021-08-15
  • 2022-01-22
  • 2021-09-24
  • 2022-01-07
  • 2021-05-22
相关资源
相似解决方案