当testStep脚本断言失败时,测试步骤应停止

时间:2019-05-13 04:09:46

标签: groovy soapui

我必须多次运行testStep,并从外部文件加载不同的数据(使用文件对象循环为每个记录运行testStep),并从每个值的响应中验证数据。 我能够做到这一点,它的执行和工作正常。但是当断言失败时,执行不会停止,它将继续并显示testStep已通过。 每当它失败时,我都可以在“脚本日志”窗口中看到失败,因为我正在将log.info与run.status一起使用

并且我在测试用例选项上选中“中止是否测试是否发生任何错误”复选框和“如果testStep失败则失败tes案例”复选框。

仍然继续执行测试用例

重要说明:以上情况发生在断言在记录中间失败时,如果最后一条记录失败,则停止执行。

我使用的代码

此Groovy脚本代码:文件根据文件中的行数迭代testStep

// Get tha path to an input file from a custom property
def inputFilePath = testRunner.testCase.testSuite.getPropertyValue( "inputFile" )
// Get the test case we want to Run
def tc=testRunner.testCase.testSuite.testCases["DetectRules"].testSteps["Rules_DENF_224"]

// Iterate through the input file

File file = new File(inputFilePath.toString()).eachLine{

// Set Test Suite custom properties
testRunner.testCase.testSuite.setPropertyValue( "InValue", it.split(",")[0] )
testRunner.testCase.testSuite.setPropertyValue( "OutValue", it.split(",")[1] )
testRunner.testCase.testSuite.setPropertyValue( "outDesc", it.split(",")[2] )

def runner = tc.run(testRunner,context)

//Get the Json response from execution

def FraudReq = testRunner.testCase.testSuite.testCases["DetectRules"].testSteps["Rules_DENF_224"].testRequest.response.responseContent

// Log info to a output

log.info "Execution of test case with Input value: ${it.split(",")[0]} and expected returned value: ${it.split(",")[1]} and Expected Description is: ${it.split(",")[2]} ${runner.status}"

// Sleep for a second since were using public service
sleep 500
}


this is testStep --> Script Assertion: section

import groovy.json.JsonSlurper
def response= messageExchange.response.responseContent
 def jsonsl= new JsonSlurper().parseText(response)

 def expected=context.getTestCase().getPropertyValue(“rule number”)
assert  expected==jsonsl.results[4].id

如果上述断言失败,则testStep应该停止,但testStep失败,但执行不停止。

任何帮助表示赞赏

0 个答案:

没有答案