当前位置: 首页 > 面试题库 >

JMeter在不同的线程上检查不同的断言

公宜春
2023-03-14
问题内容

使用JMeter,我要检查仅允许1次更新的锁定部分

我正在运行具有10个线程的线程组,并且期望只有1个(并非总是第一个)线程返回0,而其他9个线程返回1如何断言呢?

线程组(10)-HTTP采样器– 断言

编辑

10实际上是一个动态属性。因此,我需要任何线程计数来期望只有1个断言才能返回成功。

该测试是为了检查记录锁定是否正常工作,即使在压力/负载测试中也只能更新一次记录。

编辑2

使用关键部分控制器并没有给我确切的失败结果


问题答案:

最终,我成功了,我将每个线程保存到唯一的ID中,tearDown Thread Group以计算失败计数,最后使用它来计算失败

Thread Group请求后检查无效响应If Controller

在其下的JSR223
Sampler
通过每个线程的唯一ID标记失败标志:

String threadNumber = String.valueOf(ctx.getThreadNum());
props.put("failures" + threadNumber, 1);

除非
存在 一个
成功的请求,否则JSR223采样器将失败

int numberOfFailures = 0;
for (i=0; i < 10; i++) {
    String id = "failures"+ String.valueOf(i);
    failureFlag = props.get(id);
    log.info("failureFlag=" + failureFlag);
    if (failureFlag == 1){
        numberOfFailures ++;
    }
}
if (numberOfFailures != 9) {
    SampleResult.setSuccessful(false);
}


 类似资料:
  • 线程n:usern:task1->task2->Task3,usern:task1->task2->Task3,usern:task1->task2->Task3,... 然而,我还不知道如何做到这一点。每次我运行测试时,所有线程似乎都在迭代CSV文件并混合用户时选择用户,直到同时在两个不同的线程上找到一个用户。 像这样: 线程n:usern:task1->task2->Task3,...,use

  • 我有一个带有异步endpoint的quarkus应用程序,它创建一个具有默认属性的实体,在request方法中启动一个新线程,并执行一个长期运行的作业,然后返回该实体作为响应供客户端跟踪。 此外,长时间运行的作业将在实体运行时对其进行更新,因此它也必须是事务性的。但是,数据库实体没有得到更新。 这些是我面临的问题: 收到以下警告: 我尝试使用但没有用。 我尝试在上使用API方法,而不是在指南中提到

  • 我正在运行RxJava并创建一个主题以使用方法生成数据。我正在使用Spring。 这是我的设置: 在RxJava流上生成新数据的方式是通过Autowire private SubjectObserver SubjectObserver,然后调用SubjectObserver。发布(newDataObjGenerated) 无论我为subscribeOn()指定了什么 Schedulers.io()

  • 问题内容: 我如何获得两个数组之间的按行比较,从而得到按行的真/假数组? 给定数据: 结果步骤1: 最终结果: 那么我如何获得阵列呢 ? PS:在此示例中,数组和 进行了排序,如果在您的解决方案中数组进行了排序很重要,也请提供信息 问题答案: 这是向量化的解决方案: 请注意,将的每行与按元素进行比较。然后,我们使用+推断每个子数组是否有所有行:

  • 问题内容: 据我所知,操作系统创建线程时,每个线程都会获得一个不同的堆栈。我想知道每个线程是否也有与自己不同的堆吗? 问题答案: 否。所有线程共享一个公共堆。 每个线程都有一个专用堆栈,它可以快速添加和删除其中的项目。这样可以使基于堆栈的内存速度更快,但是,如果您使用过多的堆栈内存(如无限递归中所发生的那样),则会导致堆栈溢出。 由于所有线程共享同一个堆,因此必须同步对分配器/释放器的访问。有许多

  • 问题内容: 我通过一个会话连接到数据库。在整个程序中,我总是有相同的会话。我的线程“ 1”从数据库中捕获主要数据。必须允许用户取消该线程。因此,如果用户频繁或快速按下“取消”按钮(这是我的解释),则会发生以下错误: 如果我取消线程“ 1”完成并尝试从数据库加载另一个主数据集后在后台运行的线程“ 2”,则会发生相同的错误。 我在两个线程中使用同一会话的失败是吗? 解决此类问题的正确方法是什么? 问题