2014-09-02 55 views
0

我必须使用JMeter编写web应用程序的负载测试。该应用程序有可用于预订的项目,每个项目都有一个“预订”按钮。如果某个用户点击该按钮的项目,则其他用户将无法使用该按钮。我的问题是: 是否有可能使JMeter线程预订不同的项目(以提出不同的请求)以及如何实现它?JMeter:如何改变线程组内的请求

回答

1

您应该能够确定不同的“书籍”按钮发布的参数,并根据需要修改嵌套的请求。测试计划的结构应该是这样的:

  • 开放的预订页面 - HTTP请求
    • 获取所有预订的标识 - 后置处理器
  • 书 - HTTP请求

在哪里“后处理器“可以是

在多的情况下,比赛后置处理器将返回多个变量,如

BookindID_1=some value 
BookindID_2=some other value 
BookindID_3=some other value 2 
.... 
BookindID_matchNr=10 

有关于如何使用这些值进行至少2种选择:

  1. 重复所有的值u唱ForEach Controller
  2. 棒到当前虚拟线程数经由功能__threadNum所以线程#1将采取BookindID_1变量,线#2 - BookingID_2可变值等

也可以使用__Random函数取随机值但如果项目不可用,可能会导致请求失败。

的2个变量组合的正确方法是这样的:

${__V(VAR1${VAR2})} 

所以结合BookingID_N__threadNum看起来像

${__V(BookingID_${__threadNum})} 

How to use JMeter Functions后一系列以获得更多关于什么可以通过函数来​​完成。

1

是,如果每个项目都有静态(预定义)唯一标识符,描述符,标识符,那么可以使用csv配置文件或随机编号进行参数化。发生器和选择器

随机没有生成器和选择器将只能用于整数,但csv配置是更好/标准做法。如果您需要更多帮助,请在此处粘贴您的测试计划并解释您的需求。