jmeter - 控制 Jmeter 中的特定代码块以停止和启动新线程?
问题描述
线程数:1000
1. Validate username
2. Validate Password
If controller
3. User Info
4. Settings
5. Payments
etc...
20. Logout
现在,如果验证密码失败,则后续运行将不会运行..但仍然计算线程..考虑 800 成功,200 登录失败仍然显示 Active 1000 Started: 1000。
我不想要验证密码失败的线程,如何停止失败的线程并获取新线程..
在线程组中,有设置“ Action to be taken after a sampler error
”
我选择了Start Next Thread Loop
。因此,如果验证登录失败,则应启动新线程。但如果 if 循环块失败,它也会创建新线程。那是实际的应用程序失败。
我想在验证用户名和密码调用失败时停止当前线程启动新线程but if it is failed on the if block it should report error not stop and start new thread.
可能吗?因为线程组控制整个测试组?
解决方案
您可以在JSR223 组件中创建新线程,但请谨慎使用
ctx.getThreadGroup().addNewThread( 0, ctx.getEngine() )
您可以使用停止操作使用测试操作在特定情况下停止:
“停止”操作在完成任何正在进行的样本后停止线程或测试。“立即停止”操作停止测试,无需等待样品完成
推荐阅读
- java - 由于超时,Java FakeSMTP 无法接收我的消息
- r - 如何在 R 中使用 qwraps2 在新行中添加组比较结果
- c++ - 使用带有接口指针的 Google Mock
- git - 是否可以删除 git 工作树?
- python - 应用条件并用模式替换 NA 值
- mysql - MySQL在过程中多次删除
- java - Android:在另一个结束后开始一个过渡
- c++ - 是否有一种设计模式可以在不使用动态转换的情况下实现运行时多态性?
- wpf - ShowDialog 上的 NullReferenceException
- json - 如何在 Angular 8 中访问 JSON 响应中的数据?