rest-assured - 如何根据条件选择发送参数?

标签 rest-assured

我有一个奇怪的情况,我有一个可选属性,但如果我发送它,它需要一个值。

所以通常我会有类似的东西

String valueForParam = "";
if(condition == true){
   valueForParam = "value";
}
given().request().param("parameter",valueForParam).when().put(URL)

但问题是在我的情况下,如果以空白值发送参数(当条件为 false 时),服务将抛出错误。

我知道当参数为 false 时我可以做一个 if 语句来调用完全不同的 given(),但我很好奇是否有办法在值为空时停止发送参数。

最佳答案

使用 RequestSpecBuilder:

String valueForParam = "";
Map<String, String> params = new HashMap<>;
if(condition == true){
   params.put("parameter", "value");
}
RequestSpecification s = new RequestSpecBuilder().addParams(params).build();
given().spec(s).when().put(URL);

关于rest-assured - 如何根据条件选择发送参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43658361/

相关文章:

java - 如何使用 selenium webdriver 在 UI 下测试 RESTful Web 服务

java - 如何在本地环境中自动启动Azure Function?

json - 放心 : extracting list of values from Json Response using java

java - 无法放心获取 GET 类型的其余 Web 服务的 header 数据

java - JUnit+Mockito 或 RestAssured

java - CSRF token 验证失败,如何使用serenity放心框架修复?

java - isEqualToComparingFieldByField 失败,但 isEqualToComparingFieldByFieldRecursively 正在通过

java - 带有斜杠的 Hamcrest 匹配器被解释为验证的一部分

java - 请放心,由于响应中数据丢失,测试会间歇性失败

java - 使用 resassured 验证空的 Restful 响应数组