在事后方案中成功执行帖子请求时,在SOAPUI中没有获得json响应但是在否定时返回

时间:2017-06-23 13:46:37

标签: json soapui postman web-api-testing ready-api

我是SoapUI的新手,我在其中运行了一个发布请求来创建用户。它返回成功代码201(与邮差相同),应该是,但它没有在响应窗口的JSON选项卡下显示任何数据。它应该显示一些数据,因为请求在Postman中以JSON格式返回数据。 邮递员的回复是:

{
"id": 107,
"creationTime": "2017-06-23T12:55:13.870+0000",
"lastUpdateTime": "2017-06-23T12:55:13.870+0000",
"username": "Testuserr",
"name": null,
"firstname": null,
"type": null,
"avatar": null,
"mobile": null,
"office": null,
"email": null,
"enabled": false,
"_links": {
    "self": {
        "href": "http://server/...../user/107"
    },
    "consultantUser": {
        "href": "http://server/...../user/107"
    },
    "roles": {
        "href": "http://server/...../user/107/roles"
    },
    "regularRole": {
        "href": "http://server/...../user/107/regularRole"
    },
    "userSkills": {
        "href": "http://server/...../user/107/userSkills"
    },
    "experiences": {
        "href": "http://server/...../user/107/experiences"
    },
    "educations": {
        "href": "http://server/...../user/107/educations"
    },
    "assignments": {
        "href": "http://server/...../user/107/assignments"
    },
    "certificats": {
        "href": "http://server/...../user/107/certificats"
    },
    "organisation": {
        "href": "http://server/...../user/107/organisation"
    },
    "sections": {
        "href": "http://server/...../user/107/sections"
    }
}
}

SoapUI中没有显示任何内容。

enter image description here

但是,如果我第二次运行相同的请求,则显示

{
   "cause":    {
      "cause":       {
         "cause": null,
         "message": "Duplicate entry 'TestName20181' for key UK_r43af9ap4edm43mmtq01oddj6'"
  },
  "message": "could not execute statement"
}

与Postman相同,应该是。那么第一次出现问题是什么?

如果有任何事情请帮助我,我在执行期间失踪了......谢谢......

1 个答案:

答案 0 :(得分:1)

我只是想出区别,201/200的content-type / media-type为空白,邮递员智能地将content-type / media-type识别为json并显示。

我刚刚走到开发人员办公桌以确认根本原因是否正确,是的,

对于400个(阴性测试): 在异常处理程序类中,它们返回的媒体类型为

    HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.setContentType(MediaType.APPLICATION_JSON);

    return new ResponseEntity(errors, responseHeaders, HttpStatus.BAD_REQUEST);

但对于201/200(阳性测试): 他们没有根据spring boot framework设置contentType,它的全局或默认设置。

解决方案#1:因此,DEV必须将SOAP UI的contentType显式设置为JSON才能显示json主体,以便我们可以在其中编写测试脚本,否则您只会在其中看到空响应SOAPUI虽然是200/201。

解决方案2::在您的SOAP UI请求中,在“标头”中添加一个参数,即Accept = application / json。这将在没有开发人员支持的情况下解决您的问题。

感谢https://community.smartbear.com/t5/SoapUI-Pro/Change-the-reponse-from-content-type-text-html-to-text-json/td-p/39628

Screenshot