首页 > 解决方案 > 从包含控制器获取 udv 到测试计划

问题描述

我需要通过 JSON 提取器将在测试片段中创建的变量放入测试计划中。在测试计划中抛出“MissingPropertyException”。

javax.script.ScriptException:groovy.lang.MissingPropertyException:没有这样的属性:类的发票:org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:324)的Script117〜[groovy-all-2.4.16。 jar:2.4.16] 在 org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:72) ~[groovy-all-2.4.16.jar:2.4.16] 在 javax.script.CompiledScript.eval(来源不明)~[?:1.8.0_211]

我曾尝试在测试计划中使用 jsr223 处理器来访问变量。

jsr223 中的 groovy 脚本就像

if (vars.get(Invoices.size() == 0))
AssertionResult.setFailure(true);
AssertionResult.setFailureMessage("no Invoice present");

标签: jmeter

解决方案


我假设您需要检查发票是否为空白然后失败。

如果有帮助,请检查以下计划:- 下面是提取发票的 json 提取器。 在此处输入图像描述

使用以下获取的值。 在此处输入图像描述 检查发票是否不空白的断言。 在此处输入图像描述 下面是输出。如果发票为空白,则请求将失败。 在此处输入图像描述

希望这可以帮助。

更新:- 下面是一个带有测试片段的计划。传递变量使用,如 ${varInvoices} 在此处输入图像描述

更新2: -

Json 配置:- 在此处输入图像描述 第一个测试片段:- 在此处输入图像描述 第二个测试片段:- 在此处输入图像描述 输出:- 在此处输入图像描述


推荐阅读