Jmeter -当前线程之外的所有线程等待

vu8f3i0k  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(203)

我是Jmeter的新手,我一直在为我的测试计划而挣扎。

测试计划步骤:

  • 进入现场
  • 创建多个愿望清单(如亚马逊上的愿望清单)
  • 在愿望列表 Jmeter 板中,列表的顺序会根据页面顶部最近编辑的列表不断更新。
  • 我有多个线程进入此 Jmeter 板并编辑愿望列表
  • 我使用多个if语句来验证当前线程想要修改的愿望列表的位置(基于名称)。
    问题:
  • 问题是,在if语句之后,当我试图在与当前线程关联的期望列表上单击edit(POST请求)时,页面崩溃
  • 崩溃背后的原因是一个竞争条件。在我可以发布页面的位置之前,位置发生了变化(另一个线程已经创建或修改了愿望列表)
  • 我已经尝试使用临界区控制,但这将是行不通的,因为其他线程可以编辑愿望清单,可以改变 Jmeter 板上的顺序。
    问题:
  • 在Jmeter上,当我在Dashboard Post请求时,是否有一种方法可以暂停除当前线程之外的所有线程?
hvvq6cgz

hvvq6cgz1#

1.如果您的应用程序允许不同的用户同时修改同一个愿望列表-这是一个需要解决的应用程序错误
1.如果你的应用程序不允许不同的用户同时修改同一个愿望列表--你的测试设计得很糟糕,你需要修改它并确保每个线程(虚拟用户)都使用不同的愿望列表。有一个__threadNum()函数允许获得当前线程(虚拟用户)的ID,你可以使用这个信息来区分用户/线程
1.如果您的方案比较复杂,您可以考虑使用Inter-Thread Communication Plugin,您可以使用它来实现任何IPC方案。可以使用JMeter Plugins Manager安装线程间通信插件

ecbunoof

ecbunoof2#

您可以使用Critical Section Controller通过线程组中的单个线程执行线程中的单个或多个请求。Critical Section Controller控制单个JVM。因此,它不适用于分布式测试。

相关问题