如何忽略SoapUI测试用例中的某些测试步骤错误?

时间:2016-07-14 08:36:13

标签: groovy integration-testing soapui

目标

我希望“常规”测试步骤打破SoapUI测试用例,而不同的测试步骤子集允许失败

原理

我有一个SoapUI测试用例,它执行相当复杂的功能测试,其中一些可选的详细信息通过其他JDBC测试步骤进行检查。由于这些细节是“可选的”,即使一个或多个JDBC测试失败,测试用例也不会失败(即它应该变为绿色)。

几乎有

如果要求允许测试用例中的所有测试步骤失败,我可以简单地切换测试用例行为:

  

打开TestCase Options对话框(从TestCase工具栏中)并取消选中Abort on Error选项。当您运行TestCase时,该步骤仍然失败,但SoapUI将继续运行其他TestSteps   Functional Tests | Data-Driven Tests (SoapUI.org)

问题

  • 这个目标可以通过测试步骤级别的设置或属性来实现(特别是:没有专业版)?
  • 是否有一个类似于setFailOnError setFailTestCaseOnErrors / WsdlTestCase方法的Groovy解决方案,但是在测试步骤级别?

2 个答案:

答案 0 :(得分:1)

我已经通过插入两个

的Groovy测试步骤解决了这个问题
  1. 将当前测试用例设置存储在(临时)测试用例自定义属性字段;
  2. 在可选步骤之前关闭错误行为;
  3. 在(临时)属性中的可选步骤之后恢复先前的错误行为。
  4. 之前: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)

  • 右键单击测试用例;
    选择选项;在基本标签下 - 错误时取消选择中止[如果已选中]