首页 > 解决方案 > 请放心,基本获取查询会出错

问题描述

我正在尝试检查基本的放心获取方法并低于错误。使用以下版本:rest-assured-4.1.1-dist.zip

代码:

import io.restassured.RestAssured;
import static io.restassured.RestAssured.given;

public class Basics {

    public static void main(String[] args) {

        System.out.println("Testing");
        RestAssured.basePath = "https://maps.googleapis.com";
        given().
        param("location", "-33.8670522,151.1957362").
        param("radius", "500").
        param("key", "AIzaSyDAyGVdrax3PwjtaJyQvlajVpgt46HBEWo").
        when().
        get("/maps/api/place/nearbysearch/json").
        then().assertThat().statusCode(200);

    }

}

输出:

测试

线程“主”java.net.ConnectException 中的异常:连接被拒绝:在 java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) 在 java.net.AbstractPlainSocketImpl 的 java.net.DualStackPlainSocketImpl.connect0(Native Method) 处连接。 doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java :172) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:589) 在 org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory. java:121) 在 org.apache.http.impl.conn.DefaultClientConnectionOperator。openConnection(DefaultClientConnectionOperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)在 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445) 在 org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835) 在 org.apache.http.impl .client.CloseableHttpClient.execute(CloseableHttpClient.java:83) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) at org.apache.http.client.HttpClient$execute$0.call(未知来源)在 org.codehaus.groovy.runtime 的 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)。callsite.AbstractCallSite.call(AbstractCallSite.java:115) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135) at io.restassured.internal.RequestSpecificationImpl$RestAssuredHttpBuilder.doRequest(RequestSpecificationImpl.groovy: 2054) 在 io.restassured.internal.http.HTTPBuilder.doRequest(HTTPBuilder.java:494) 在 io.restassured.internal.http.HTTPBuilder.request(HTTPBuilder.java:451) 在 io.restassured.internal.http.HTTPBuilder $request$2.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115 ) 在 io.restassured.internal 的 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:151)。在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:62) 的 RequestSpecificationImpl.sendHttpRequest(RequestSpecificationImpl.groovy:1450): 43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java :323) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:821) at io .restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 在 org。codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45) 在 org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55) 在 org.codehaus.groovy.runtime.callsite。 CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) at io.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:1199) at sun .reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke (Method.java:498) 在 org.codehaus.groovy.reflection。CachedMethod.invoke(CachedMethod.java:101) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl .java:1041) 在 org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call( PogoInterceptableSite.java:45) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) 在 org .codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:151) 在 io.restassured.internal.filter。SendRequestFilter.filter(SendRequestFilter.groovy:30) at io.restassured.filter.Filter$filter$0.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at io .restassured.filter.Filter$filter.call(Unknown Source) at io.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:72) at io.restassured.filter.time.TimingFilter.filter(TimingFilter.java: 56) 在 org.codehaus.groovy.runtime.callsite 的 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 的 io.restassured.filter.Filter$filter.call(Unknown Source)。 AbstractCallSite.call(AbstractCallSite.java:115) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:143) at io.restassured.internal.filter.FilterContextImpl。next(FilterContextImpl.groovy:72) at io.restassured.filter.FilterContext$next.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus。 groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135) at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl. groovy:1654) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang .reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.reflection。CachedMethod.invoke(CachedMethod.java:101) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl .java:1041) 在 org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call( PogoInterceptableSite.java:45) 在 org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) 在 org .codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) 在 org。io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1660) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)。 reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy .reflection.CachedMethod.invoke(CachedMethod.java:101) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217) 在 groovy.lang.MetaClassImpl。在 groovy.lang.MetaClassImpl 调用方法(MetaClassImpl.java:1041)。invokeMethod(MetaClassImpl.java:821) at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45) at org.codehaus.groovy .runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent (AbstractCallSite.java:156) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184) 在 io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:171) 在 io.restassured。 internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy) 在 Basics.main(Basics.java:15)

标签: rest-assured

解决方案


您需要使用RestAssured.baseURI变量,而不是RestAssured.basePath. 这将起作用:

import io.restassured.RestAssured;
import static io.restassured.RestAssured.given;

public class Basics {

    public static void main(String[] args) {

        //You need to set baseURI here, not basePath
        RestAssured.baseURI = "https://maps.googleapis.com";
        given().
        param("location", "-33.8670522,151.1957362").
        param("radius", "500").
        param("key", "value").
        when().
        get("/maps/api/place/nearbysearch/json").
        then().assertThat().statusCode(200);
    }
}

推荐阅读