我正在尝试使用JMeter创建一个简单的压力测试。我主要有GET请求和几个POST请求。我的主要目标是使这个测试尽可能重用。我想以一种用户必须提供带有以下标题的CSV文件的方式实现它:
method;path;postBody
值看起来像:
GET;/path/to/resource;''
POST;/path/to/resource;'{"key":"value","key":"value","key":"value"}'
现在POST(PUT,PATCH等......)机构因一个请求而异。向“正文数据”标签提供${postBody}
也不起作用{。}}。
有没有办法实现这个目标?命令行解决方案也非常受欢迎。
编辑:为了澄清,我正在使用UI界面。当我在Body Data选项卡中输入"${postBody}"
时,UI会抱怨。从Body Data选项卡切换到另一个时,我得到以下提示:
答案 0 :(得分:0)
您可以保留在“正文数据”选项卡
中在pathPost之后添加GET请求的可选查询参数:
?
不要担心,
它只是参数的单独路径
另外考虑将变量名称更改为路径,更合适,因为它可以是POST。
在JSON中,
分隔值,而在CSV中,默认值也是CSV Data Set Config
我建议您使用CSV分隔符,在;
选择不同的分隔符POST;/path/to/resource;{"key":"value","key":"value","key":"value"}
并相应地添加CSV数据(删除额外的'字符):
False
<!--Uncomment for logging ALL HTTP request and responses -->
<!--<logger name="io.gatling.http.ahc" level="TRACE" />-->
<!--<logger name="io.gatling.http.response" level="TRACE" />-->
<!-- Uncomment for logging ONLY FAILED HTTP request and responses -->
<!--<logger name="io.gatling.http.ahc" level="DEBUG" />-->
<!--<logger name="io.gatling.http.response" level="DEBUG" />-->
答案 1 :(得分:-1)
删除&#34;&#39;&#34;在请求周围,它应该工作。
关于你得到的警告,这不是一个错误,只是在JMeter中这两个标签是独占的:
参数选项卡用于输入格式为name = value
正文数据适合您的要求
那么您可以测试我的假设,即在CSV文件中删除请求周围的引用吗?
如果仍然失败,请显示日志。