RestAssured - TestNG-тестирование RestfulAPI выдает ошибку времени ожидания соединения - PullRequest
0 голосов
/ 09 октября 2019

Я использую TestNG с платформой RestAssured для тестирования RestAPI.

В момент, когда выполнение попадает в эту строку, httpRequest.request выдает ошибку тайм-аута соединения

Я что-то пропустил в этой строке? Это не выдало никакой синтаксической ошибки.

   import org.testng.annotations.BeforeMethod;
   import static io.restassured.RestAssured.ntlm; 
   import static io.restassured.RestAssured.basic; 
   import org.testng.annotations.Test;
   import io.restassured.RestAssured;
   import io.restassured.http.Method;
   import io.restassured.response.Response;
   import io.restassured.specification.RequestSpecification;


  public class RestApi_Incidents {

@BeforeMethod
 public void beforeMethod() {
    System.out.println("before method");

}

@Test
void GetIncidentAPI(){      

    try{


    RestAssured.baseURI = "https://xxx/api/data/v8.2";
     RestAssured.port = 80;
     RestAssured.basePath = "/incident";
     RestAssured.authentication = basic("userid", "pwd!");
     //RestAssured.authentication = ntlm("uid", "pws!", null, "uat");   

     RequestSpecification httpRequest = RestAssured.given();

      Response response =httpRequest.get();
    }
    catch (Exception ex){

        System.out.println(ex.toString());

    }   

} 

}

Ответы [ 3 ]

0 голосов
/ 10 октября 2019

Вы можете изменить свой договор, как указано ниже. Я не могу реплицировать соединение Ошибка тайм-аута, так как хост недоступен на моем локальном

package api.application.zippopotam;

import io.restassured.authentication.AuthenticationScheme;
import io.restassured.builder.RequestSpecBuilder;
import io.restassured.internal.http.HTTPBuilder;
import org.testng.annotations.BeforeMethod;

import static io.restassured.RestAssured.ntlm;

import org.testng.annotations.Test;
import io.restassured.RestAssured;
import io.restassured.http.Method;
import io.restassured.response.Response;
import io.restassured.specification.RequestSpecification;


public class RestApi_Incidents {

    public static RequestSpecification requestSpecification ;

    @BeforeMethod
    public void beforeMethod() {
        System.out.println("before method");



        requestSpecification = new RequestSpecBuilder().
                                                setBaseUri("https://xxx/api/data/v8.2/incidents").
                                                setRelaxedHTTPSValidation().
                                                setBasePath("HealthCheckApp/DetailsView").build()
                                                .auth().basic("userid", "pwd!");

    }

    @Test
    void GetIncidentAPI(){

        try{


            Response aresponse =  RestAssured.
                    given().
                    spec(requestSpecification).
                    when().
                    get().
                    then().
                    extract().
                    response();

            System.out.println("before getBody");

            String aresponseBody = aresponse.getBody().asString();

            System.out.println("response is " + aresponseBody);
        }
        catch (Exception ex){

            System.out.println(ex.toString());

        }


    }

}

Выход

Получение неизвестного хостаОшибка ожидания: Поскольку вы указали неверное имя хоста

enter image description here

0 голосов
/ 15 октября 2019

Пожалуйста, перейдите по ссылке ниже. Я объяснил с кодом: -

https://stackoverflow.com/questions/58343693/timeout-error-in-restassured-whereas-the-service-giving-response-in-postman-soap/58392345#58392345

0 голосов
/ 10 октября 2019

Пожалуйста, используйте как это

RestAssured.baseURI = "https://xxx/api/data/v8.2/";
 RestAssured.port = 80;
 RestAssured.basePath = "/incidents/resource/HealthCheckApp";
 RestAssured.authentication = basic("username", "password");
 RestAssured.authentication = ntlm("myuserid", null, null, "uat");   
 RequestSpecification httpRequest = RestAssured.given();
 Response response =httpRequest.get("/DetailsView");
...