我是API测试新手。我正在使用Rest Assured自动化Rest API,并且在验证get请求时遇到了困惑。
API根据从搜索用户界面收到的搜索参数返回一组结果。网址为www.xxxxxx.com/index.php?option=xxxxxx&task=xxxxxx?key1=value1?key2=value2?key3=value3..............
URL中同样有大约20个参数。
BaseURI = "www.xxxxxx.com"
Response response = given().param("key1",value1).when ().get ("/index.php");
这是定义get URL的正确方法,还是应该包含所有传递的参数?
答案 0 :(得分:0)
您可以创建请求和响应规范,并在所有API测试中使用它,因为这样您就不必重复常见的断言。你所拥有的是一个GET API,所以调用它与你给定的代码有些不同。请查看此示例代码
ResponseSpecBuilder builder = new ResponseSpecBuilder();
builder.expectStatusCode(200);
builder.expectContentType(ContentType.JSON);
responseSpecs = builder.build();
RequestSpecBuilder requestSpecBuilder = new RequestSpecBuilder();
requestSpecBuilder.setBaseUri("domainName");
requestSpecs = requestSpecBuilder.build();
given().spec(requestSpecs).
when().get(endpoint + "?option=xxxxxx&task=xxxxxx").
then().spec(responseSpecs).
body("xyz", equalTo("value"));
在这个测试中,我们检查如果响应代码是200,内容类型是JSON,而在json响应中," xyz"元素具有价值"价值"。