【问题标题】:rest assured java.net.SocketException放心 java.net.SocketException
【发布时间】:2018-09-02 03:54:01
【问题描述】:

我正在放心地执行一个简单的后测,
在执行 post() 方法时,我收到“java.net.SocketException:操作超时”

@Test
public void validateGetProductInfo_Prod() throws IOException {

String jsonBody = new String(Files.readAllBytes(Paths.get("src/test/resources/product.json")));

Headers basicHeaders = new Headers(asList(
        new Header("X-ApplicationAuthorizationToken", "AAABB"),
        new Header("Authorization", "Basic ABC"),
        new Header("Content-Type", "application/json")));

String produPath = "http://api.abcd.com/product/v1/product/info";

given().headers(basicHeaders)
        .body(jsonBody)
        .when()
        .post(produPath)
        .then().using().defaultParser(Parser.JSON)
        .statusCode(200);
}    

我已经确认在执行之前没有错误,
在执行 post() 方法时遇到异常?

【问题讨论】:

  • 运行此代码的机器无法连接到 URL... 尝试在同一台机器上单独运行 URL
  • @vinaychhabra 尝试从同一台机器的帖子中点击相同的 url,我能够得到响应,我是否需要任何额外的配置才能从 java 中点击?

标签: java testing rest-assured


【解决方案1】:

最初的问题是服务端点需要一个用户代理标头,该标头未在请求中发送,因此端点没有响应。 添加标题后,问题就解决了。

注意: 如果没有提供标头,邮递员会添加默认的 chrom 用户代理

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 2016-05-23
    • 2011-06-06
    • 2017-11-04
    • 1970-01-01
    相关资源
    最近更新 更多