例如:假设我们的流程中有以下其余API步骤: 1.登录 2. Addtocart 3.增加项目数量 4.在购物车中使用优惠券 5.更新送货地址 6.下订单。
现在在上面的流程中,假设我想从300个并发用户开始,并且在每一步我都希望5-10%的用户下降,例如: 1.登录-300位用户可以 2. Addtocart-270位用户将 3.增加项目数量:243个用户 。 。 。 等等
答案 0 :(得分:0)
创建多个线程组。例如:
Thread group 1- Login
-Login Request
Thread group 2- Addtocart
-Addtocart Request
Thread group 3- item quantity
-item quantity Request
现在,您可以手动设置每个线程组的线程数。手动将其设置为300,270和243,以及相应的加速时间。 您唯一需要注意的是将cookie从登录线程组传递到其他两个线程组。 为此,添加一个beanshell后处理器作为登录请求的子代,并添加以下代码
props.put("yourcookiename1","${COOKIE_yourcookiename1}");
props.put("yourcookiename2","${COOKIE_yourcookiename2}");
props.put("yourcookiename3","${COOKIE_yourcookiename3}");
现在添加一个Beanshell PostProcessor作为addtokart请求和增加质量请求的子代,并添加以下代码:
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager manager = sampler.getCookieManager();
Cookie cookie = new Cookie("yourcookiename1",props.get("yourcookiename1"),"abc.com","/",false,0);
manager.add(cookie);
Cookie cookie1 = new Cookie("yourcookiename2",props.get("yourcookiename2"),"abc.com","/",false,0);
manager.add(cookie1);
Cookie cookie2 = new Cookie("yourcookiename3",props.get("yourcookiename3"),"abc.com","/",false,0);
manager.add(cookie2);
这会将Cookie传递给处于不同线程组下的第二个和第三个请求。