Tha an dreuchd seo a ’mìneachadh mar a chuireas tu Iarrtasan API HTTP a’ cleachdadh leabharlann le cinnt REST. Tha eisimpleirean a ’còmhdach GET
, POST
, PUT
, PATCH
agus DELETE
iarrtasan.
Tha an t-iarrtas HTTP GET air a chleachdadh gus goireas fhaighinn bho fhrithealaiche.
Tha an eisimpleir a leanas a ’cleachdadh an get()
modh bhon leabharlann le cinnt REST.
Eisimpleir:
import io.restassured.RestAssured; import io.restassured.http.ContentType; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void getRequest() {
Response response = given()
.contentType(ContentType.JSON)
.when()
.get('/posts')
.then()
.extract().response();
Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('qui est esse', response.jsonPath().getString('title[1]'));
} }
Gus paramadairean ceiste a chuir còmhla ris an iarrtas GET, bidh sinn a ’cleachdadh an queryParam
modh:
import io.restassured.RestAssured; import io.restassured.http.ContentType; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void getRequestWithQueryParam() {
Response response = given()
.contentType(ContentType.JSON)
.param('postId', '2')
.when()
.get('/comments')
.then()
.extract().response();
Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('Meghan_Littel@rene.us', response.jsonPath().getString('email[3]'));
} }
Tha iarrtas HTTP POST air a chleachdadh gus dàta a phostadh no goireas a chruthachadh air frithealaiche.
Gus iarrtas POST a chuir a-steach ann an REST-chinnteach, bidh sinn a ’cleachdadh an post()
modh:
import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
private static String requestBody = '{
' +
' 'title': 'foo',
' +
' 'body': 'bar',
' +
' 'userId': '1'
}';
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void postRequest() {
Response response = given()
.header('Content-type', 'application/json')
.and()
.body(requestBody)
.when()
.post('/posts')
.then()
.extract().response();
Assertions.assertEquals(201, response.statusCode());
Assertions.assertEquals('foo', response.jsonPath().getString('title'));
Assertions.assertEquals('bar', response.jsonPath().getString('body'));
Assertions.assertEquals('1', response.jsonPath().getString('userId'));
Assertions.assertEquals('101', response.jsonPath().getString('id'));
} }
Co-cheangailte:
Bidh an t-iarrtas PUT ag ùrachadh goireas ach feumaidh e làn phàigheadh JSON.
Gus iarrtas PUT a chuir a-steach ann an REST-chinnteach, cleachdaidh sinn an put()
modh:
import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
private static String requestBody = '{
' +
' 'title': 'foo',
' +
' 'body': 'baz',
' +
' 'userId': '1',
' +
' 'id': '1'
}';
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void putRequest() {
Response response = given()
.header('Content-type', 'application/json')
.and()
.body(requestBody)
.when()
.put('/posts/1')
.then()
.extract().response();
Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('foo', response.jsonPath().getString('title'));
Assertions.assertEquals('baz', response.jsonPath().getString('body'));
Assertions.assertEquals('1', response.jsonPath().getString('userId'));
Assertions.assertEquals('1', response.jsonPath().getString('id'));
} }
Bidh an t-iarrtas PATCH ag ùrachadh goireas ach chan fheum e ach an raon / na raointean a tha air an ùrachadh anns an uallach pàighidh:
import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
private static String requestBody = '{
' +
' 'title': 'bax'
}';
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void patchRequest() {
Response response = given()
.header('Content-type', 'application/json')
.and()
.body(requestBody)
.when()
.patch('/posts/1')
.then()
.extract().response();
Assertions.assertEquals(200, response.statusCode());
Assertions.assertEquals('bax', response.jsonPath().getString('title'));
Assertions.assertEquals('1', response.jsonPath().getString('userId'));
Assertions.assertEquals('1', response.jsonPath().getString('id'));
} }
Co-cheangailte:
Tha an t-iarrtas DELETE air a chleachdadh gus goireas a dhubhadh às seirbheisiche.
Gus iarrtas DELETE a chuir a-steach ann an REST-chinnteach, cleachdaidh sinn an delete()
modh:
import io.restassured.RestAssured; import io.restassured.response.Response; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; public class RestAssuredRequests {
@BeforeAll
public static void setup() {
RestAssured.baseURI = 'https://jsonplaceholder.typicode.com';
}
@Test
public void deleteRequest() {
Response response = given()
.header('Content-type', 'application/json')
.when()
.delete('/posts/1')
.then()
.extract().response();
Assertions.assertEquals(200, response.statusCode());
} }