条件执行

通常来说, 不建议在测试用例中使用条件判断的逻辑, 甚至在用户关键字中也不要用, 因为这会使得用例和关键字变得难以理解和维护. 这种逻辑应该放在测试库中, 这样就可以很自然地使用编程语言的语法结构来实现.

然而, 总会有些时候会发现条件判断逻辑是有用的, 虽然Robot Framework并没有提供if/else的语法结构, 但是我们可以通过其它几种方式来实现相同的效果.

  • 测试用例测试套件 的setup或teardown中的关键字名称可以使用变量来代替.这样利于根据条件来改变关键字, 如通过命令行.
  • BuiltIn_ 关键字 Run Keyword 把其它关键字作为参数来调用, 自然也可以是变量.这个变量的值就可以动态的确立, 如根据前面的关键字结果或者是命令行.
  • BuiltIn_ 关键字 Run Keyword IfRun Keyword Unless 只在特定的表达式结果是true或false的情况才调用指定的关键字. 所以简单的 if/else 结构,完全可以由它们来完成. 详细的例子可以参考关键字的文档.
  • 另一个 BuiltIn_ 关键字 Set Variable If 可以根据条件表达式的结果, 动态的为变量赋值.
  • 还有几个 BuiltIn_ 关键字可以在测试用例/套件执行失败或成功的时候才调用指定的关键字.