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

如何使用正则表达式提取器在jmeter中提取json响应数据?

狄溪叠
2023-03-14
问题内容

我只是想使用jmeter提取json响应数据,但不能这样做。
我得到类似的东西{"authorizationToken":"abcdef"}
我正在尝试authorizationToken但无法获得。

谁能帮我使这个工作正常?


问题答案:

authorizationToken外观在响应中是否唯一(仅出现一次)?

如果是这样,您可以简单地使用正则表达式提取器添加到HTTP请求中,该请求器返回json响应,并带有如下正则表达式:
``

**HTTP Request**
    **Regular Expression Extractor**
    Reference Name: authToken
    Regular Expression: "authorizationToken":"(.+?)"
    Template: $1$
    Match No.: 1

并将进一步提取的值称为${authToken}

但是,如果您的情况更加复杂,并且authorizationToken在json响应中出现了几种情况,并且您必须提取具体的消息,则可以使用,例如,将BeanShell
PostProcessor
/ BSF
PostProcessor添加到同一HTTP请求中,以使用beanshell代码+
json处理库来提取值。

如果不是,则上述第一个解决方案应有帮助。

更新:

目前,最舒适的处理JSON响应的方法似乎是jmeter的自定义JSON实用程序(JSON路径声明,JSON路径提取器,JSON格式化程序),它们也是Jmeter插件的一部分。

在这种情况下,您可以使用JSON Path Extractor。



 类似资料:
  • 我正在尝试用常规提取来提取强文本json,然后用格式化的json将其发布到下一个请求正文数据中。对于我提取的json,它们没有格式化,我只是想知道是否有任何功能或方法来格式化它? 使用正则表达式提取器获取请求(提取粗体部分) 在下一个请求中发布提取的数据(从上面的请求中提取的JSON数据用正则表达式显示为整个字符串,只是想知道如何在这个正文数据中格式化?)

  • 我想知道为什么JMeter中的正则表达式提取器在参数化后不提取数据。响应消息:内部服务器错误 添加的表达式包括: > name=“\uuuueventvalidation”id=“\uuueventvalidation”value=“(.?)” name=“\uuuu VIEWSTATE”id=“\uuuu VIEWSTATE”value=“(.?)”

  • 当我在调试采样器中看到时,我的变量中没有任何东西。

  • 我试图创建一个线程组,使登录到我们的系统中。为此,我需要包含 每次打开页时生成的标记,并保存在隐藏值中。因此,通常的解决方案,如响应,执行正则表达式提取器,并使值变量和it稍后请求,对我来说不起作用。因为标记与和时不同。 然后,我找到了一个并行控制器,这对我来说可能是一个解决方案。但我找不到办法。另外,没有我的母语(日语)的参考资料。我想要标记到某些登录操作,所以我需要用并行控制器做正则表达式提取

  • 问题内容: 我有一些粗略的字符串: 我想使用Java Regex类提取[some number]中的文本。 我大致知道我想使用什么正则表达式(尽管欢迎所有建议)。我真正感兴趣的是Java调用以获取正则表达式字符串并将其用于源数据以产生[some number]的值。 编辑:我应该补充一点,我只对单个[一些数字](基本上是第一个实例)感兴趣。源字符串很短,我不会寻找[some number]的多次出