我的问题是我制作了两个测试用例,它们非常好并且运行良好,但是仅当第一个失败时,我才需要运行第二个。我怎样才能做到这一点?由于旧版应用程序,我正在使用RIDE Robotframework并正在IE上工作。
答案 0 :(得分:2)
您可以做的是测试:
但是,我希望您不这样做。通常,测试在逻辑上应该分开。如果可以的话,您可以并行运行所有它们。
如果测试失败,那您就不必担心测试其他东西了。您应该修复第一个测试。否则,您将陷入困境。
答案 1 :(得分:2)
你不能做你想做的。至少不是直接。测试开始运行后,Robot无法提供添加其他测试的方法。
但是,如果您说“运行特殊关键字”而不是“运行第二个关键字”,则可以将功能移至关键字并使用test teardown在Run 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