简介

作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似ifelsewhile等内置关键字来实现各种逻辑功能(注1),而是提供给了用户BuiltIn库。如果用户想在测试用例中实现比较复杂的逻辑,那就需要对BuiltIn中的重要关键字有一些了解。另外,BuiltIn库中还封装了很多常见方法和能够控制RF运行状态的关键字,如果想用好RF,一定要对BuiltIn库中的函数有一个比较全面的理解。下面就带着大家认识一下BuiltIn库中比较重要的关键字。

Catenate

用于连接字符串,默认以空格分隔,可以指定分隔符
catenate SEPARATOR= a b ,这样就连接为ab.

Evaluate

如果你需要进行一些数值运算并得到结果,你就需要用到Evaluate关键字。Evaluate会把你想要计算的表达式直接传递给Python,并把Python的计算结果返回给你。这是最经常要用到的。

Should 系列关键字

Should系列关键字是Should大头的一系列关键字。如ShouldBe Empty · ShouldBe Equal · ShouldBe Equal As Integers · ShouldBe Equal As Numbers · ShouldBe Equal As Strings · ShouldBe True · ShouldContain · ShouldContain X Times· ShouldEnd With · ShouldMatch · ShouldMatch Regexp · ShouldNot Be Empty · ShouldNot Be Equal · ShouldNot Be Equal As Integers · ShouldNot Be Equal As Numbers · ShouldNot Be Equal As Strings · ShouldNot Be True · ShouldNot Contain · ShouldNot End With · ShouldNot Match ·ShouldNot Match Regexp · ShouldNot Start With · ShouldStart With 这些关键字都是用作判断时用的,每个用例都会用到,比如我们的执行结果得到了一个字符串,我们要判断这个字符串要与一个预期字符串相等,否则用例就无法通过,这时候,肯定会用上Should Be Equal As String关键字,其它关键字我们通过关键字的名字就能顾名思义,知道它的作用。

Convert To系列关键字

ConvertTo Binary · ConvertTo Boolean · ConvertTo Hex · ConvertTo Integer · ConvertTo Number · ConvertTo Octal · ConvertTo String做类型转换比不可少。

Run keyword系列关键字

RunKeyword If · RunKeyword If All Critical Tests Passed · RunKeyword If All Tests Passed · RunKeyword If Any Critical Tests Failed ·RunKeyword If Any Tests Failed · RunKeyword If Test Failed · RunKeyword If Test Passed · RunKeyword If Timeout Occurred ·
这些关键字能根据一个判断条件的真假来看是否执行关键字。一般使用这些关键字来实现高级语言中的ifelse功能。最常用的是Run Keyword If 和 Run Keyword unless 他们俩实现的效果正好相反。

Exit ForLoop

用作退出循环,一般和Run keyword if关键字联合使用,来实现条件退出。

Wait Until Keyword Succeeds

这是一个将异步调用变为同步调用的关键字。举一个例子:如果call某个WebService,并且需要得到返回结果才能做下一部操作。我们就会用到这个关键字。

其它

BuiltIn库里还有很多宝贝,比如日期相关的关键字GetTime。让测试暂停的Sleep等。都相当有用。详见:http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html
注1:RF目前仅有2个内置关键字:FOR 和 IN,来实现循环结构。功能还是比较弱的。

posted on 2019-07-09 22:56  liehen2046  阅读(176)  评论(0编辑  收藏  举报