我希望“常规”测试步骤打破SoapUI测试用例,而不同的测试步骤子集应允许失败。
我有一个SoapUI测试用例,它执行相当复杂的功能测试,其中一些可选的详细信息通过其他JDBC测试步骤进行检查。由于这些细节是“可选的”,即使一个或多个JDBC测试失败,测试用例也不会失败(即它应该变为绿色)。
如果要求允许测试用例中的所有测试步骤失败,我可以简单地切换测试用例行为:
打开TestCase Options对话框(从TestCase工具栏中)并取消选中Abort on Error选项。当您运行TestCase时,该步骤仍然失败,但SoapUI将继续运行其他TestSteps Functional Tests | Data-Driven Tests (SoapUI.org)
setFailOnError
setFailTestCaseOnErrors
/ WsdlTestCase
方法的Groovy解决方案,但是在测试步骤级别?答案 0 :(得分:1)
我已经通过插入两个
的Groovy测试步骤解决了这个问题之前:disableFailOnErrorBehavior.groovy
:
testRunner.testCase.with {
// Store current TestCase options in (temporary) TestCase properties.
setPropertyValue('_failOnError', failOnError.toString())
setPropertyValue('_failTestCaseOnErrors', failTestCaseOnErrors.toString())
log.debug "Saved FailOnError behavior: ${failOnError}, ${failTestCaseOnErrors}."
// Allow following TestSteps to fail without aborting the TestCase immediately.
setFailOnError(false)
setFailTestCaseOnErrors(true)
log.info "Set FailOnError behavior: ${failOnError}, ${failTestCaseOnErrors}."
}
之后:restoreFailOnErrorBehavior.groovy
:
testRunner.testCase.with{
// Use (temporary) TestCase properties to restore initial TestCase options.
setFailOnError(getPropertyValue('_failOnError').toBoolean())
setFailTestCaseOnErrors(getPropertyValue('_failTestCaseOnErrors').toBoolean())
log.info "Restored FailOnError behavior: ${failOnError}, ${failTestCaseOnErrors}."
// Remove (temporary) TestCase properties.
removeProperty('_failOnError')
removeProperty('_failTestCaseOnErrors')
log.debug "Clean up temporary properties: done."
}
这些脚本依赖于两种方法来更改测试用例行为:
答案 1 :(得分:-1)