如何通过SopaUI在VSTS中通过api将标记为测试案例的注释添加为测试通过/失败

时间:2019-04-05 09:31:45

标签: soapui azure-devops-rest-api

我试图在测试结果中添加注释,但是我无法在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。

1 个答案:

答案 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 Error4094005xx - 500 Internal server error等。现在,您遇到哪种失败情况,取决于您可以从SoapUI或Groovy脚本中进行一些断言。