Jmeter 将整个正文作为变量传递给POST请求
我正在尝试使用JMeter创建一个简单的压力测试。我大部分收到请求,还有一些发帖请求。我的主要目标是使这个测试尽可能可重用。我希望以用户必须提供具有以下标题的CSV文件的方式实现它:Jmeter 将整个正文作为变量传递给POST请求,jmeter,load-testing,Jmeter,Load Testing,我正在尝试使用JMeter创建一个简单的压力测试。我大部分收到请求,还有一些发帖请求。我的主要目标是使这个测试尽可能可重用。我希望以用户必须提供具有以下标题的CSV文件的方式实现它: method;path;postBody 这些值类似于: GET;/path/to/resource;'' POST;/path/to/resource;'{"key":"value","key":"value","key":"value"}' 现在,POST(放置、修补等)主体在不同的请求之间有所不同。向正文
method;path;postBody
这些值类似于:
GET;/path/to/resource;''
POST;/path/to/resource;'{"key":"value","key":"value","key":"value"}'
现在,POST(放置、修补等)主体在不同的请求之间有所不同。向正文数据选项卡提供${postBody}
也不起作用“${postBody}”
有没有办法做到这一点?命令行解决方案也非常受欢迎
编辑:为了澄清,我使用的是UI界面。当我在Body数据选项卡中输入${postBody}
时,UI会抱怨。从Body Data选项卡切换到另一个选项卡时,我得到以下提示:
删除请求周围的“”,它应该可以工作
关于您得到的警告,这不是一个错误,只是在JMeter中,这两个选项卡是独占的:
- 参数选项卡用于以名称=值的形式输入参数
- 车身数据符合您的要求
如果仍然失败,请显示日志。您可以保留在Body Data选项卡中 在pathPost之后添加GET请求的可选查询参数:
${pathPost}?${getPramaters}
不要担心?
它只是将路径与参数分开
还考虑将变量名改为PATH,更合适,因为它可以是POST。 在JSON
中,
在值之间分隔,而在CSV中,默认值也是,
我建议您可以在CSV数据集配置中选择不同的分隔符作为编码>并相应地在CSV中添加数据(删除额外的“字符”):
- 注意:允许引用数据保留默认值
False
什么不起作用?也许您还需要CSVN的标题,但不清楚什么不起作用。对于POST,发送${postBody}
作为一个主体应该可以工作,只要它的url编码正确。GET通常需要URL参数(所以应该在路径上)。但由于我们不知道什么不起作用,可能还有100多个其他原因,请查看更新的问题。这并不能提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-第一部分是答案。你在哪里看到评论?谢谢你!我被警告挂了,以为这是个错误。你是对的pathPost
应该是path
。但问题在于post请求的主体中,我无法将主体数据作为从CSV检索的变量提供。
POST;/path/to/resource;{"key":"value","key":"value","key":"value"}