RestAssured: отправка запроса возврата 500 Ошибка сервера - PullRequest
0 голосов
/ 17 декабря 2018

Я практикую веб-сервисы, используя RestAssured.В почтовом запросе возвращается ошибка 500 серверов, где я использую почтальон для отправки запроса, и ошибки нет.Может кто-нибудь помочь мне отладить ошибку?Пожалуйста, дайте некоторое мнение.Любая помощь ценится?Заранее спасибо.

@BeforeSuite
    public void setup() {
        RestAssured.reset();
        ProxySpecification ps = new ProxySpecification("localhost", 8080, "http");
        RestAssured.proxy(ps);

        RestAssured.baseURI = "https://jsonplaceholder.typicode.com/";
        RestAssured.port = 443;
    }

@Test(groups="createUser")
    public void createUser() {
        given()
            .param("userId", 1234)
            .param("id", 82342)
            .param("title", "Senior Software Engineer")
            .param("body", "Scrum Org").
        when()
            .request("POST", "/posts").
        then()
            .statusCode(200);

    }

Сообщение об ошибке: ожидаемый код состояния <200>, но было <500>.

Stacktrace:

at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Собственный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance (неизвестный источник) в sun.reflect.DelegatingConstructorAccessorImpl.newInstance (неизвестный источник) в java.lang.reflect.Constructor.newInstance (неизвестный источник) в org.codeyf.CachedConstructor.invoke (CachedConstructor.java:83) в org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke (CachedConstructor.java:77) в org.codehaus.groovy.runtime.callsite.Constructor.ite $ ConstructorSiteNU: ConstructorSiteNU:84) в org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor (CallSiteArray.java:59) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor (AbstractCallSite.javag.code).runtime.callsite.AbstractCallSite.callConstructor (AbstractCallSite.java:250) по адресу io.restassured.internal.ResponseSpecificationImpl $ HamcrestAssertionClosure.validate (ResponseSpecificationImpl.groovy: 483) по адресу io.restassured.internal.ResponseSpecificationImpl $ HamcrestAssertionClosure $ validate Источник $ 1.call или в любом другом месте (код проверки подлинности $ 1.call).runtime.callsite.CallSiteArray.defaultCall (CallSiteArray.java:47) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:116) в org.codehaus.groovy.riteite.alls.Callscalls(AbstractCallSite..reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) в java.lang.reflect.Method.invoke (Unknown Source) в org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite $ PogoCachedMethodSiteNoUnwrapNoCoerce.invoke (PogoMetaMethodSite.java: 210) в org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent (PogoMetaMethodSite.java:59) в org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultSiteArray.harayCite.groovy.runtime.callsite..groovy: 123) в io.restassured.specification.ResponseSpecification $ statusCode $ 0.callCurrent (неизвестный источник) в org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent (CallSiteArray.java:51) в org.y.runtime.callsite.131) в io.restassured.internal.ValidatableResponseOptionsImpl.statusCode (ValidatableResponseOptionsImpl.java:119) в com.peterwkc.services.Main.createUser (Main.java:75)

1 Ответ

0 голосов
/ 17 декабря 2018

Вы должны отправить тело JSON вместо параметров.Тогда ваш запрос будет выглядеть так:

given()
    .contentType(ContentType.JSON)
    .body("{"
        + "\"userId\": 1234,"
        + "\"id\": 823823,"
        + "\"title\": \"Title\","
        + "\"body\": \"Scrum\""
        + "}"
    )
    .when()
    .request("POST", "/posts").
    then()
    .statusCode(201);

Здесь есть официальная вики-страница с множеством полезных примеров: https://github.com/rest-assured/rest-assured/wiki

...