java - 放心java.net.SocketException

标签 java testing rest-assured

我正在放心地执行一个简单的后期测试,
执行 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() 方法时遇到异常?

最佳答案

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

注意: 如果未提供 header ,Postman 将添加默认的 chrom 用户代理

关于java - 放心java.net.SocketException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52133832/

相关文章:

java - 使用自定义顺序对字符串数组进行排序

java - Spring MVC 测试 : java. lang.AssertionError: 找不到 ModelAndView

java - 使用 Rest Assured RequestSpecification 和 testng 时出错

java - 每个项目有 2 个值的数组

java - 当 HTTP 响应内容类型不包含空格时测试 org.apache.http.entity.ContentType

java - 如何在java中解码asn.1数据

java - 如何确定构造函数的参数

java - 当应用程序位于 Android api 28(饼图)中的前台或后台时,单击通知 "launching activity"的附加信息为空

node.js - Testcafe:找不到资源的 dns 记录

windows - Windows 应用程序的猴子测试软件