首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试检索使用Jmeter中的JSON路径提取器提取的变量的值时出现解析错误

尝试检索使用Jmeter中的JSON路径提取器提取的变量的值时出现解析错误
EN

Stack Overflow用户
提问于 2016-03-08 04:04:24
回答 3查看 464关注 0票数 0

我必须断言API的JSON响应。因此,使用JSON路径提取器提取字段(状态)的值并将其保存在变量(Optinurl)中

"state":"opted_in“

在调试采样器中,我看到Optinurl的值为

Optinurl=:"opted_in“

Optinurl_1=opted_in

Optinurl_matchNr=1

当我尝试在Beanshell断言中检索变量Optinurl的值时,如下所示:

String optinValue = ${Optinurl}

我得到了

ERROR - jmeter.util.BeanShellInterpreter:调用bsh方法时出错: eval源文件:内联求值:String optinValue = '["opted_in"]';'' Token Parsing Error: Lexical error at line 1, column 23. Encountered: "\"" (34), after : "\'[" 2016/03/07 14:40:15 WARN - jmeter.assertions.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of:字符串optinValue = '"opted_in"';'‘标记解析错误:第1行,第23列出现词法错误。遇到:"\"“(34),在:"\'[”

提前感谢您的帮助!

EN

Stack Overflow用户

发布于 2016-03-09 00:18:33

感谢Dmitri,Kaushlendra的回复。

我更新了我的脚本,如下所示,它在GUI/命令行中工作正常。由于vars.get("Optinurl")返回"opted_in",所以在比较字符串之前必须删除引号和方括号。

代码语言:javascript
复制
String optinValue = vars.get("Optinurl"). replace("[","").replace("]","").replace("\"","");
String expectedState = "${EXPECTED_STATE}";

log.info(optinValue);
log.info(expectedState);

if(!optinValue.equals(expectedState)){
    Failure = true;
    FailureMessage = "Values of state field for Campaign id " +  "${CAMPAIGN_ID}" +  " dont match "; 

}

我不能使用字符串optinValue = vars.get("Optinurl_1"),因为当我从命令行运行测试时它会失败(虽然在图形用户界面模式下工作得很好)

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35852957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档