当前位置: 首页 > 知识库问答 >
问题:

BeanShell后处理器使用Jmeter解析Json

魏景龙
2023-03-14

我需要测试rest api发布JSON。我尝试使用JMeter通过BeanShell后处理器发布Json数据。但是BeanShell后处理器不工作或者我写不出正确的代码。

我的Json是:{“email”:“selin@xxx.com”,“password”:“123”}

你可以在下面的图片中看到我做了什么。

共有2个答案

金承嗣
2023-03-14

在里面。

Beanshell采样器代码有几个问题:

  1. 在Beanshell中,需要用斜杠转义引号,如\“
  2. SampleResult.SetResponseData方法接受字节数组,而不是字符串。

因此,如果您修改Beanshell采样器代码如下:

String dummyJson = "{\"email\":\"selin@xxx.com\",\"password\":\"123\"}";
SampleResult.setResponseData(dummyJson.getBytes("UTF-8"));

从Beanshell的角度来看,一切都应该是好的。

有关Apache JMeter中Beanshell脚本的更多详细信息,请参阅如何使用Beanshell:JMeter最喜爱的内置组件指南。

江德海
2023-03-14

我想您想在API上发出http请求。按照以下步骤操作。

  1. 打开JMeter的新实例
  2. 在Test Plan下,通过导航到Test Plan>add>Config Element>HTTP Header Manager,添加HTTP Header Manager以设置内容类型。为Name=“content-type”和value=“application/json”添加新值(不带引号)。
  3. 在“测试计划”下,通过导航到“测试计划”>“添加”>“线程(用户)”>“线程组”
  4. 来添加线程组
  5. 在“线程组”下,通过导航到“线程组”>“添加”>“采样器”>“HTTP请求”
  6. 来添加HTTP请求类型的采样器
  7. 您可以将各种侦听器添加到线程组。通过导航到Thread Group>Add>Listener>View Results in Table
  8. ,我更喜欢表/树中的结果

您可以随意添加JSON数据,如图所示。

还有一个要点

此要点包括BeanShell后处理器版本

 类似资料:
  • 在日志中获取以下错误: 上的方法:getName() 下面是Beanshell后处理器中使用的代码。

  • 我如何使用beanshell后处理器来分析来自每个请求的数据?我需要分析请求,如果请求通过-写入文件,如果请求失败-写入其他文件。任何机构都可以为这种情况编写简单的示例脚本?

  • 问题内容: 有没有办法从一个BeanShell前置/后处理器到另一个BeanShell处理器 (它们在同一个线程组中) 引用变量? 如果我在HTTP Request下的BeanShell PreProcessor中创建一个String变量,那么我可以在同一HTTP Request下的BeanShell PostProcessor中使用或引用该变量。 我尝试通过以下方式访问此变量: + HTTP请求

  • 如何更正此代码?谢谢

  • > 下面有一个json响应数组,我正在将它放入Jmeter正则表达式提取器变量中。 在这里,我有JSON对象。 在JSON对象中,我们有不同的SKU和相应的数量。 我正在使用一个hashmap从CSV文件中读取值,并更新每个SKU的数量细节,但我的脚本无法将响应取到JMeter中的数组中。 最后,我将分享解析JSON数组时遇到的Jmeter代码和错误 我看到很多帖子建议groovy,我不知道如何使

  • 我有这样的简单代码- 但是,它不起作用,没有东西进入csv文件。我可以看到用log语句打印在日志文件中的数字。也没有错误。