Я тестирую поддельный API https://jsonplaceholder.typicode.com/
Это следующие задачи:
- Получить случайного пользователя (userID), распечатать его адрес электронной почты для консоли.
- Используя этот идентификатор пользователя, получите связанные сообщения этого пользователя и убедитесь, что они содержат действительные идентификаторы сообщений (целое число от 1 до 100).
- Создайте сообщение, используя тот же идентификатор пользователя с непустым заголовком и телом убедитесь, что возвращен правильный ответ (поскольку это фиктивный API, он может не возвращать код ответа 200, поэтому проверьте документацию).
Ниже приведен код Я написал:
import io.restassured.http.ContentType;
import io.restassured.response.Response;
import io.restassured.path.json.JsonPath;
import org.junit.Assert;
import org.junit.Test;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.*;
public class JsonPlaceHolder {
@Test
public void getUserId() {
Response response = given().when().get("https://jsonplaceholder.typicode.com/users?id=2")
.then().assertThat().statusCode(200).extract().response();
String responseInString = response.asString();
System.out.println(responseInString);
// get the user email address from the response
JsonPath jsonPath = new JsonPath(responseInString);
String emailAddress = jsonPath.getString("email");
System.out.println(emailAddress);
}
@Test
public void userPost() {
Response response = given().contentType(ContentType.JSON).when().get("https://jsonplaceholder.typicode.com/posts?userId=2")
.then().assertThat().statusCode(200).extract().response();
String responseInString = response.asString();
System.out.println(responseInString);
// Using the userID, get the user’s associated posts and
JsonPath jsonPath = new JsonPath(responseInString);
String userPosts = jsonPath.getString("title");
System.out.println(userPosts);
// verify the Posts contain valid Post IDs (an Integer between 1 and 100).
String postId = response.asString();
System.out.println(postId);
**response.then().assertThat().body("id", allOf(greaterThanOrEqualTo(1), lessThanOrEqualTo(100)));**
}
}
Это ошибка утверждения, которую я получаю ниже: Пожалуйста, предложите какое-то решение. Спасибо
java .lang.AssertionError: 1 ожидание не выполнено. JSON идентификатор пути не совпадает. Ожидаемый: (значение, равное или превышающее <1>, и значение, меньшее или равное <100>) Фактический: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]