- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个生成 JSOn 字符串的 HTTP 采样器。我使用 groovy JSonSlurper 解析 JSon 片段以更新 UserParameter pollOver:
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def response = jsonSlurper.parseText(prev.getResponseDataAsString())
def isError = response.response.isError
def error = isError ? "true":"false"
def data = response.response.data
def pollOver = data?.trim() || isError
log.info("response = " + response)
log.info("isError = " + isError)
log.info("error = " + error)
log.info("data = " + data)
log.info("pollOver = " + pollOver)
vars.put("pollOver", pollOver ? "true":"false")
vars.put("data", data)
vars.put("error", error)
不幸的是,用户参数 pollOver 永远不会更新,尽管来自 groovy 后处理器的日志显示它具有正确的值:
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: response = [response:[version:1505333033161, data:138bdb6e-f0e9-48c0-8dd6-5bb14154d816, startTime:1505333033161, endTime:1505333033264, My Service, isError:false, operationIdList:[2ca8719c-152c-4baa-8cfc-8ec1022cdc09], progress: created successfully, rootId:570ef302-89a2-4bc1-bd1a-4d06fba306a0, id:570ef302-89a2-4bc1-bd1a-4d06fba306a0], version:1.0]
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: isError = false
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: error = false
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: data = 138bdb6e-f0e9-48c0-8dd6-5bb14154d816
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: pollOver = true
如果我将 pollOver 定义为用户定义的变量,它就可以正常工作。当然,我需要 X 对于不同的线程是不同的,因此我更喜欢使用用户参数而不是 UDV。
这里有我遗漏的问题吗?我不能在 JSR223 groovy 后处理器中使用 vars.put(...) 更新用户参数吗?
这里是 While Controller ,其终止由 UDV“pollOver”决定(pollOver 在 UDV 的“创建站点参数”部分中定义):[While Controller 依赖于 UDV][3]
这是更新 UDV pollOver 以使 Controller 终止的后处理器:[在此处输入图片描述][4]
谢谢,
R
最佳答案
User Parameters是一个预处理器,在其范围内的采样器之前运行。由于您没有提供测试计划的屏幕截图,我无法判断它影响了哪个采样器,但很可能它在您的采样器之前运行并删除了您存储在变量中的值。
对于您的用例,将用户参数定义为线程组中第一个采样器的子级,这样它的范围就不会删除 JSR223 PostProcessor 计算的值
参见:
从你的评论来看,我的回答似乎没问题,要修复它,请在 Controller 之前添加一个测试操作:
将 User Parameter 元素移入其中,使其仅运行一次以初始化 pollOver。
我只是使用 Pause = 0 的测试操作来避免生成无用的 SampleResult。我也可以使用 Debug Sampler。
正如我所解释的,您遇到的主要问题是您的用户参数范围太大,因此它应用于所有请求,覆盖了您的后处理器更新的值。
关于JMeter JSR223 后处理器不更新用户参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46206204/
我正在从类文件中反编译java代码。有一个java语句为: localObject2 = this.current_result_set;jsr 56;jsr 63;return (ResultSet
JSR-223 之间的主要区别是什么?和 JSR-241 ? 如果我理解正确的话: JSR -223:介绍了 Java 脚本语言引擎,仅此而已!您可以自由使用任何您想要的脚本语言,例如:Groovy、
Eclipse 的 null 分析现在支持 JSR-308,即您现在可以将 @Nonull 等放在泛型类型参数上。 但是,广泛使用的 com.google.code.findbugs:jsr305:3
我通过外部服务收到一条 XML 消息,我可以使用 MOXy 作为我的 JAXB 提供程序将其解码为 POJO。我目前能够使用 JPA (Hibernate) 将对象保存到数据库中,并且当遇到无效数据时
在 Java 门户上,您可以拥有包含其他应用程序提供的数据的 portlet。我们想用 Django 应用程序替换我们现有的 Java 门户,这意味着复制 Java 门户显示 portlet 的能力。
我刚开始使用 Java Bean 验证 (JSR-303/JSR-349/Hibernate Validator),并且了解一般概念。但是,我不确定如何验证组合类型的内容与类型本身。 例如: @Not
我是 BlackBerry OS 开发的新手,我的代码试图在传递 Criteria 参数后使用 LocationProvider 获取城市名称。我是根据这个 link 关注的我从 RIM 本身尝试了“
我有一个关于 JSR 交叉文件验证的问题。我有一个基于休息的获取和发布服务。所以我有类似的东西 @GET ItemOfferId getItem(String) 另外一个是 @Post boolean
在提到 Java、JSP 和 JSF 的各个方面时,我经常看到经常使用“JSR-XXX”标题。用于 CDI 的 JSR-299?或用于某些注释的 JSR-303。 通过“JSR”名称来学习这些概念是否
最近我选择了一个非常有用的网络服务框架,Jersey (JAX-RS 又名 jsr-311;及其摇滚启动实现),以及一个漂亮的验证库 Hibernate Validator (“Bean 验证 API
在我的场景中,我尝试创建注释来验证一个字段是否已填充(如果另一个字段具有某种值)。 界面如下所示: @Target({ElementType.FIELD, ElementType.METHOD}) @
谁能解释一下这两者之间的区别:评估规范与构建实现规范对于任何可用的 JSR 流程,例如,JSR 299 . 有时这是有值(value)的信息来源,但对于作为开发人员的我来说,我应该下载和阅读哪一个?令
我正在查看一些 Java 代码,我注意到以下内容: if (!foo(bar, baz, qux)) { i = 0; jsr 433; } javac 对此感到窒息,说这不是一个语句,并且在
我使用 Hibernate Validator 作为 JSR-303 实现。 假设我有: class Form { @Valid private Owner mainOwner;
第 10.6 章中的规范说: Implementation-specific loader The batch runtime implementation must provide an imple
我有一个具有 JSR 168 规范的 portlet,它曾经在 UPortal(一些基于旧门户的 java 框架)内运行。但是,我需要将此 portlet 从门户中删除,并将其作为独立的应用程序。现在
我正在使用 JSR-330 注释编写一些代码,并且我想针对(或使用)各种实现来测试它。 目前我已经完成了 Dagger Dagger 2 hk2 Spring 还有其他实现吗? 请注意,我不是在谈论
我的主要课程是 public class UserAddressesForm { @NotEmpty private String firstName; @NotEmpty
亲爱的 Spring 社区, 我要实现的是以下内容: 我希望每个 Controller 有一个自定义验证器 (via @InitBinder ) 我希望 Spring 调用 validator.val
阅读有关 osgi 的 wiki 页面 https://en.wikipedia.org/wiki/OSGi我看到没有关于OSGi的JSR只有OSGi相关的JSR。这是否意味着 OSGi 规范已超出
我是一名优秀的程序员,十分优秀!