如何在REST中确保通过Excel传递端点的参数

时间:2018-07-10 10:56:47

标签: excel api automation rest-assured data-driven

我想使用不同的国家名称传递参数“国家”。是否可以将所有国家/地区名称保留在excel中,然后从数据文件中调用这些国家/地区名称。

RestAssured.given()
    .pathParam("country", "Finland")
    .when()
        .get("http://restcountries.eu/rest/v1/name/{country}")
    .then()
        .body("capital", containsString("Helsinki"));

2 个答案:

答案 0 :(得分:0)

Rest Assured不适用于excel。您实际上正在查看的是一些Java库(例如Apache POI),用于从excel工作表中提取数据。

现在您的路径应该是

  1. 在excel中准备所有测试数据
  2. 使用Apache POI将excel中的值提取到您的框架中
  3. 从excel提取的值中准备查询参数或路径参数
  4. 将新建的端点传递给测试方法。
  5. 验证测试结果

答案 1 :(得分:0)

您可以使用Apache POI和TestNG实现您的目标。

例如,您可以在数据提供程序方法中解析数据Excel工作表,并可以在测试方法中使用该数据提供程序,

@Test (dataProvider = "dataSheet")
public void testCountryCapital (String country, String capital) {
    RestAssured.given()
     .pathParam("country", country)
     .when()
     .get("http://restcountries.eu/rest/v1/name/{country}")
     .then()
     .body("capital", containsString(capital));
}