如果另一个特别失败,如何运行一个测试用例

时间:2019-09-26 12:57:24

标签: automation automated-tests robotframework

我的问题是我制作了两个测试用例,它们非常好并且运行良好,但是仅当第一个失败时,我才需要运行第二个。我怎样才能做到这一点?由于旧版应用程序,我正在使用RIDE Robotframework并正在IE上工作。

3 个答案:

答案 0 :(得分:2)

您可以做的是测试:

  • 测试A通过。
  • 测试A失败。
  • 测试A失败并运行测试B。

但是,我希望您不这样做。通常,测试在逻辑上应该分开。如果可以的话,您可以并行运行所有它们。

如果测试失败,那您就不必担心测试其他东西了。您应该修复第一个测试。否则,您将陷入困境。

答案 1 :(得分:2)

你不能做你想做的。至少不是直接。测试开始运行后,Robot无法提供添加其他测试的方法。

但是,如果您说“运行特殊关键字”而不是“运行第二个关键字”,则可以将功能移至关键字并使用test teardownRun keyword if test failed中调用它

*** Keywords ***
On test teardown
    run keyword if test failed
    ...  log  BUMMER!  WARN

*** Test Cases ***
Passing test
    [Teardown]  On test teardown
    log  hello, world

Failing test
    [Teardown]  On test teardown
    fail  this test has failed.

答案 2 :(得分:0)

您可以将Pass Execution If关键字与套件变量一起使用。这不是完美的解决方案,因为测试B仍记录为通过。

*** Test Cases ***
Test A
    Set Suite Variable    ${a_passed}      ${FALSE}
    Fail                  This case failed
    Set Suite Variable    ${a_passed}      ${TRUE}

Test B
    Pass Execution If     ${a_passed}      A passed so skipping B
    Log To Console        Running Test B