贯穿RobotFramework框架 - 关键字(一) 最全面的疏理

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

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

1、什么是关键字

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

3、如何使用关键字

4、如何定义用户关键字

5、资源文件使用

 

1、什么是关键字

总结一句话:一个关键字实现了单一的功能。

 使用一个关键字,就等于是去使用了一个功能。

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

一样的道理 ,那在RF中,输出文本使用了关键字:log;创建变量使用了关键字:set Variable; 执行python语句使用关键字:evulate

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

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

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

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

 

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

 

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

既然RF中的关键字,与python中的函数保持一致。那么函数来自于哪里,基本上关键字也就来自于哪里。

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

 

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

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

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

RobotFramework在安装成功之后,会自带标准库。标准库中均是关键字。    =======相对于python自带。

RobotFramework也支持丰常丰富的第三方库。    =======相对于python第三方库

也支持用户利用python或者java语言编写自己的第三方库。   =======相对于用户自定义的模块和包

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

 

 

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

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

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

 

 

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

 

 

 

 3、如何使用关键字

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

我们通过关键字的名称来使用关键字。如果需要传递参数,那么就传递参数。PS:是不是跟python函数的使用一模一样??

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

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

 

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

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

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

 

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

 

转载于:https://www.cnblogs.com/Simple-Small/p/9641643.html

robotframework调⽤python类⽅法_(五)RobotFramework基 础。。。 上⼀⼩节,你已经感受到了 Robot Framework 的基本说法,这⼀⼩节你将会看到 Robot Framework 更多强⼤的⽤法。 if 语句 通过 "run keyword if" 关键字可以编写 if 分⽀语句。 *** Test Cases *** test case8 ${a} Set variable 59 run keyword if ${a}>=90 log 优秀 ... ELSE IF ${a}>=70 log 良好 ... ELSE IF ${a}>=60 log 及格 ... ELSE log 不及格 ⾸先定义变量 a 等于 59 。 If 判断 a ⼤于等于 90 ,满⾜条件 log 输出 "优秀 "; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 70 ,满⾜条件 log 输出 "良好"; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 60 ,满⾜条件 log 输出 "及格"; 上⾯的条件都不满⾜,else log 输出"不及格"。 注意 sele if 和 else 前⾯的三个点点点(...) for 循环 在 Robot Framework 中编写循环通过 ":FOR" 。 1、循环 0~9 。 *** Test Cases *** test case9 :FOR ${i} IN RANGE 10 \ log ${i} 通过":FOR"定义 for 循环;IN RANGE ⽤于指定循环的范围。 2、遍历列表。 *** Test Cases *** test case10 @{abc} create list a b c : FOR ${i} IN @{abc} \ log ${i} "create list" 关键字⽤来定义列表(a,b,c),"@{}"⽤来存放列表。通过过 ":FOR" 循环来来遍历@{abc}列表中的字符。 强⼤的 Evaluate 为什么说"Evauate"关键字强⼤呢。因为通过它可以使⽤ Python 语⾔中所提供的⽅法。 1、 ⽣成随即数 在 Python 中我们可以这样来引和并使⽤⽅法: C:\Users\fnngj> python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> random.randint(1000, 9999) 9777 random 模块的 randint()⽅法⽤于获取随机数。 在 Robot Framework 中使⽤ "Evauate" 也可以调⽤ Python 所提供的 random 模块下的 randint()⽅法。 *** Test Cases *** test case11 ${d} Evaluate random.randint(1000, 9999) random log ${d} 2、 调⽤⾃⼰编写的 Python 程序 ⾸先创建 D:/rf_test/count.py ⽂件。 def add(a,b): return a + b if __name__ == "__main__": a = add(4,5) print(a) 通过add函数实现两个数相加,这是再简单不过的⼩程序了。 下⾯就通过 Robot Framework 调⽤ count.py ⽂件中的 add()函数。 *** Test Cases *** test case12 Import Library D:/rf_test/count.py ${a} Evaluate int(4) ${b} Evaluate int(5) ${add} add ${a} ${b} log ${add} 在 Robot Framework 中所有的内容都是字符串类型,所以,需要通过 "Evaluate" 将 4 和 5 转化为 int 类型后,再调⽤ add 计算两个 数的和。 注释 Robot Framework 中添加注释也⾮常简单。"Comment" 关键字⽤于设置脚本中的注释。除此之外,你也可以像 Python ⼀样使 ⽤"#"号进⾏注释。 *** Test Cases *** test case13 Comment 这是注释 #这也是注释 如果你熟悉 Python 编程语⾔,那么 Robot Framework ⼏乎没有实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值