我试图在测试结果中添加注释,但是我无法在JSON中看到任何参数,尽管我可以从JSON以下发布其余的通过/失败消息:
方法: POST
请求网址:https://dev.azure.com/{organisation}/{project}/_api/_testManagement/BulkMarkTestPoints
JSON:
{"planId":1455039,"suiteId":1455040,"testPointIds":[3853222],"outcome":2}
我浏览了api,发现有一个api可以使用PATH方法对结果ID进行更新,但这不合适,因为我们必须先运行案例,然后获取lastresult ID,然后根据该结果进行更新ID。
答案 0 :(得分:0)
对这个问题不太清楚。阅读评论后尝试回答。
通常,您可以从SoapUI功能添加断言。
添加Valid HTTP Status Codes
-201
的断言,因为它是POST
方法。 (假设此POST
会返回201
;(在成功案例中-根据开发情况,它也可能会返回200
状态代码)
您可以使用SoapUI断言功能检查Response
正文。
通过Groovy脚本-
如果您想查看Response
状态码和响应正文
import groovy.json.*
import com.eviware.soapui.support.JsonUtil
def teststep = "Your_REST_TEST_Step_Name"
def request = testRunner.testCase.getTestStepByName(teststep)
def headers = request.testRequest.response.responseHeaders
// Check the Response Body
def response = request.getPropertyValue("Response")
def JsResponse = new JsonSlurper().parseText(response)
// Actual Response
def actualHTTPResponse = headers['#status#']
// Expected Response
def expectedHTTPResponse = ['HTTP/1.1 201 Created'] // or ['HTTP/1.1 200 OK']
assert actualHTTPResponse == expectedHTTPResponse:"Test Step Failed"
// For Response Body
assert !JsResponse.isEmpty() == true
// Check if the response schema has elements or not !!!
assert JsResponse.inspect().contains("planId") == true
..................................................
..................................................
// You can do different type of checking depending on your requirement.
PS:失败的原因很多,例如-4xx - 401 - Authentication Error
,409
,400
。 5xx - 500 Internal server error
等。现在,您遇到哪种失败情况,取决于您可以从SoapUI或Groovy脚本中进行一些断言。