假设我们在我的流程中有以下rest API步骤: 1.登录2.添加购物车3.增加商品数量4.在购物车中申请代金券5.更新发货地址6.下单。
现在在上面的流程中,假设我想从300个并发用户开始,在每一步我希望5-10%的用户下降如下: 1.登录- 300个用户将做2. Addtocart - 270个用户将做3.增加项目数量: 243个用户将做。。。诸若此类
发布于 2019-05-16 15:16:59
创建多个线程组。例如:
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请求的子级,并增加qualtity请求,并添加以下代码:
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传递给位于不同线程组下的第二个和第三个请求。
https://stackoverflow.com/questions/56158820
复制相似问题