当前位置: 首页 > 知识库问答 >
问题:

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

孟新知
2023-03-14

我想要“常规”测试步骤来破坏SoapUI测试用例,同时应该允许测试步骤的一个不同子集失败。

我有一个SoapUI测试用例,它执行一个相当复杂的功能测试,其中一些可选的细节由额外的JDBC测试步骤检查。由于这些细节是“可选的”,所以即使一个或多个JDBC测试失败,测试用例也不应该失败(即它应该变成绿色)。

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

打开TestCase选项对话框(来自TestCase工具栏)并取消选中错误中止选项。当您运行TestCase时,该步骤仍然失败,但SoapUI将继续运行其他TestSteps功能测试|数据驱动测试(SoapUI. org)

  • 通过测试步骤级别的设置或属性(尤其是:没有Pro版本)可以实现此目标吗

共有2个答案

何嘉运
2023-03-14
  • 右键单击测试用例
    选择选项;在“基本”选项卡下--取消选择“出错时中止”[如果已选中]
呼延俊良
2023-03-14

我通过插入两个Groovy测试步骤解决了这个问题

  1. 在(临时)测试用例自定义属性字段中存储当前测试用例设置
  2. 可选步骤之前的错误行为
  3. 在(临时)属性的可选步骤之后恢复以前的错误行为

之前: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."
}

这些脚本依赖于两种方法来更改测试用例行为:

  • WsdlTestCase.getFailOnError()
  • WsdlTestCase.getFailTestCaseOn错误()
 类似资料:
  • 我正在使用SoapUI Pro。SoapUI网站表示,我应该能够在测试执行期间的任何时候设置上下文变量并获取这些值。在帮助中,它说: 常见的使用方案是通过将相应的计数器和集合保存到上下文并使用它们根据需要控制流来循环或跟踪进度。 如果我使用现成的“运行测试用例”测试步骤,我无法让它工作。被调用的测试似乎没有传递上下文信息。 这是一个非常基本的例子。在我最初的测试中,我放了一些Groovy脚本,上面

  • 假设我有一个名为Ben的属性文件,其中包含以下属性: 我通过在测试步骤中键入其相对路径手动将此属性文件导入属性测试步骤。然后我有一个测试用例,它从文件中输入名称并确保它返回的输出是正确的头发和眼睛。现在,我想测试的不仅仅是一个人。假设我有另一个名为Jake的属性文件: 如果我想切换属性文件,我知道的唯一方法是在我想运行新测试时手动输入该属性文件的路径。我有没有办法实现一个Groovy脚本,在属性测

  • 我正在测试Quarkus应用程序,我想忽略一些测试。 测试类用,以及带有 我试图使用注释,但它不起作用,被忽略的测试无论如何都会执行。 这是代码: 有人知道我怎么才能做到这一点吗?

  • 我设置了以下测试用例: 我想使用Groovy脚本测试步骤获得SoapRequest测试步骤的状态。 它可以如下所示完成: 但是我不想通过脚本运行TestStep,而只是使用soapui testrunner。在datasink测试步骤中,我可以使用这个: 不幸的是,上述方法在GroovyScript TestStep中不起作用 有什么想法吗?

  • 有时,我们编写的代码并没有准备就绪,并且测试用例要测试该方法/代码是否失败(或成功)。 在本示例中,注释有助于禁用此测试用例。 如果使用注释在测试方法上,则会绕过这个未准备好测试的测试用例。 在本教程中,我们将演示如何使用来忽略测试方法。 创建一个Maven项目,其结构如下所示 - pom.xml 依懒包配置 - 创建一个测试类:TestIgnore.java,其代码如下所示 - 运行上面代码,得

  • 我编写了我的第一个ArchUnit测试: 这个项目是用Maven构建的,所以类在不同的目录中。 将名称以“tests”或其他东西结尾的类分开是不够的,因为有许多类不是测试,而是只存在于测试类路径中。