我正在为学校做作业:
要求:
- 为包含">Fantabulous"的项目创建搜索
- 验证id为">tt7713068"的电影是否在列表中
- 使用json路径生成电影ID的列表,并循环到使用正确的ID搜索电影
这就是我所拥有的:
//@Test
public void search_for_movies_on_string_and_validate_one_of_the_results() {
Response response = given().
param("apikey", apiKey).
param("s", "Fantabulous").
when().get(baseURI).
then().extract().response();
JsonPath jsonPath = response.jsonPath();
List<String> idList = jsonPath.getList("Search.imdbID");
Assert.assertTrue(idList.contains("tt7713068"));
}
如何循环浏览列表以搜索具有正确ID的电影?
apiKey="7548cb76">
baseURI="http://www.omdbapi.com/">
- 计算返回列表的大小
- 从0开始循环直到大小结束
-
搜索响应中的所有ID符合您的要求"tt7713068",如果符合,则打印输出
RestAssured.baseURI = "http://www.omdbapi.com"; Response response = given().param("apikey", "7548cb76").param("s", "Fantabulous").when().get(baseURI).then().extract().response(); JsonPath jsonPath = response.jsonPath(); int count = jsonPath.getInt("Search.size()"); String id = "tt1634278"; for(int i=0;i<count;i++) { String search = jsonPath.getString("Search["+i+"].imdbID"); if(search.equalsIgnoreCase(id)) { String output = jsonPath.getString("Search["+i+"].Title"); System.out.println("The ID "+id+" is present in the list and the name of the movie is "+output+""); } }
输出:
列表中存在ID tt7713068,电影名称为猛禽:一个哈雷奎因的狂热解放