在RF中,关键字是一个非常重要的存在。想做任何事情,都是通过关键字来实现的。

这篇文章对RobotFramework中的关键字做个整理。大概分为以下几点内容:

1、什么是关键字

2、关键字来自哪里、有哪些类型

3、如何使用关键字

4、如何定义用户关键字

5、资源文件使用

robot匹配python版本 robotframework调用python类方法_python

一什么是关键字

robot匹配python版本 robotframework调用python类方法_python

总结一句话:一个关键字实现了单一的功能,使用一个关键字,就等于是去使用了一个功能。

例如,在生活中,做饭使用了厨房,睡觉使用了床,出行使用了公交等等。

一样的道理 ,那在RF中,输出文本使用了关键字:log;

创建变量使用了关键字:set Variable; 执行python语句使用关键字:evulate

另外,我们在使用有些功能的时候 ,需要提供一定的数据,才可以正常使用功能。

比如高铁出行,必须*****和高铁票这两样数据,才能够成功的使用高铁出行这个功能。

那么在RF中,自然也会有类似这样的场景需求。表达形式就是在使用关键字的时候,需要同时传入参数数据。

PS:RF中的关键字,对应的就是python中的函数。

robot匹配python版本 robotframework调用python类方法_第三方库_03

所以关键字由关键字名称、参数、返回值三部分组成。

robot匹配python版本 robotframework调用python类方法_python

二关键字来自哪里?有哪些类型?

robot匹配python版本 robotframework调用python类方法_python

既然RF中的关键字,与python中的函数保持一致。

那么函数来自于哪里,基本上关键字也就来自于哪里。

函数主要来自于:python自带、python第三方库、用户自定义模块和包。

那在RF中,就不得不提,另外一个重要的存在:库。

库:理解为功能仓库,即封装了一系列功能。

关键字按照用途分门别类的放在不同的功能仓库中。

➤RobotFramework在安装成功之后,会自带标准库,标准库中均是关键字。

相对于python自带。

➤RobotFramework也支持丰常丰富的第三方库。

相对于python第三方库

➤也支持用户利用python或者java语言编写自己的第三方库。

相对于用户自定义的模块和包

下图为库与关键字的关系图:

robot匹配python版本 robotframework调用python类方法_python_06

上图中的系统关键字又是什么呢?

在RF中,关键字也分为两种类型:系统关键字和用户关键字。

1、系统关键字

来自于测试库。无论是标准库、第三方库、还是用户用编程语言定义的。

robot匹配python版本 robotframework调用python类方法_用例_07

2、用户关键字利用RF编辑工具,按照RF的语法规则定义的关键字(而不是直接写代码)。于测试而言,一般来说用户关键字都跟系统业务有关。

robot匹配python版本 robotframework调用python类方法_用例_08

robot匹配python版本 robotframework调用python类方法_python

三如何使用关键字

robot匹配python版本 robotframework调用python类方法_python

由上可知,一个关键字就是一个功能。

我们通过关键字的名称来使用关键字。如果需要传递参数,那么就传递参数。

PS:是不是跟python函数的使用一模一样??

以RF自带BuildIn中的关键字log为例:

1)创建一个测试套件文件;

robot匹配python版本 robotframework调用python类方法_用例_11

2)创建一个测试用例,并调用log关键字;

测试用例为:用例名称(图中的黑色粗体)、用例内容。

用例内容中:蓝色粗体为关键字名称。关键字后面的内容为传入的参数。关键字与参数之间、多个参数之间用Tab键隔开。

robot匹配python版本 robotframework调用python类方法_第三方库_12

注意:在Eclipse中 用例内容部分会自动缩进。请按照缩进的方式调用关键字即可。此规则与python保持一致。