我使用csv文件作为我的请求的基础。问题是,我有一些GET请求和一些POST请求。有没有办法对两种请求类型使用相同的http请求元素,其中方法将由csv文件中的变量确定?
答案 0 :(得分:5)
使用Beanshell预处理器非常简单。
为现有的HTTP请求添加Beanshell预处理器。让我们假设默认的HTTP方法是GET
。
现在,只要csv变量'method'为'POST'
,就可以将其更改为POSTif(vars.get("method").equalsIngoreCase("POST")){
sampler.setMethod("POST"); //this will change current sampler's http method from GET to POST.
}
答案 1 :(得分:0)
有两个选项:
答案 2 :(得分:0)
最直接的解决方案是在测试计划中有两个请求,一个是GET,另一个是POST。这并不能完全满足您使用SAME请求元素的要求,但它可能是最好的解决方案。
将每个内容嵌套在自己的IF控制器中,从中读取CSV中的值。
例如,假设csv如下: http_method,主机,路径,则params ...
第一个IF可能是:
"${http_method}" == "GET"
然后是下一个:
"${http_method}" == "POST"
CSV中的每一行只会评估其中一个语句的真值,然后进行正确的POST或GET调用。