performance - 在 Jmeter 变量值被下一个线程值覆盖
问题描述
我正在制定一个 JMeter 测试计划,旨在对 Web 服务进行性能测试。整个测试计划的主要部分包括两个步骤。
- 创建这些资产 ID 之一(通过 Post-request) - 通过 JSON 提取器提取资产 ID 并使用 bean shell 断言 ${__setProperty(assetId,${assetId})} 设置变量
- 按 ID 删除创建的资产(删除请求) - ${__property(assetId)}
如果我使用单线程计划,一切都会按预期进行,但是一旦我使用多个线程,那么assetId 将具有最后一个线程值,而剩余的值将被遗漏。您能否让我知道如何在删除调用中访问/存储所有assetId
解决方案
属性与变量不同。变量是线程本地的;属性对所有线程都是通用的,需要使用 __P 或 __property 函数来引用。
您应该使用 JSON 提取器的变量名而不是创建属性以避免在线程之间共享变量。
推荐阅读
- javascript - 如何在另一个声明文件中引用 lib.dom.d.ts 中的类型?
- excel - 为什么 VBA .Formula 属性会给出运行时错误 1004
- html - HTML/CSS 移动兼容性
- html - 左对齐 html 下拉菜单(在标题下)
- c# - 使用结构数组和大小参数索引编组 C# 结构
- django - gunicorn.socket:失败,结果为“service-start-limit-hit”
- android - 重叠两个列表视图时 setOnItemClickListener 不起作用
- vba - 使用 VBA 移动括号以在 Microsoft Word 中的本地范围内进行注释
- java - Java - 由于其他 readline 方法,我如何在不跳过一行的情况下执行读取方法
- pointers - 无法更新方法内指针的值