关于rf使用python函数的信息

RF 关键字、变量与循环关键字的使用
RF的能力是由关键字提供的,所以我们必须对RF的常用关键字有个了解,这样才能把RF用好
常用的RF关键字就在RF的标准库中
关键字参数
第一列是关键字的名称
第2列是关键字的参数
常用关键字
set variable只支持赋值一个字符串给变量,如果我们想赋值一个整数,或者浮点数,需要用Convert To integerConvert To Number
如果我们想把一个数字作为关键字的参数,可以使用数字变量
Should be true 与python两个区别:
1.变量前面加个$符号
2.不能中间有多于两个空格
认识测试库
通常,关键字是由测试哭提供的 。其实测试库就是python模块文件 。
关键字就是python库里面的函数和类的方法 。
RF本事就是python程序,所以它的寻找库文件的原理和python是一样的 。最终是通过sys.path
我们在哪个目录下面运行robot , 哪个目录就是当前工作目录当前工作目录就是在sys.path里面的 。所以我们房子啊当前目录下面的python模块文件 , 直接就能被找到
RF脚本使用函数名、方法名、大小写不敏感
库的导入
要使用测试哭提供的关键字,我们必须要声明导入库当然一个特例:除了RF的builtin库的关键字,不需要声明 。
库的名称在RF里面是大小写敏感的 。
有的库,在导入的时候,可以提供参数 , 比如SeleniumLIbrary
importing 链接,点开,有参数就是导入可以设置的参数
timeout=5.0
run_on_faullure=Capture Page Screenshot
screenshot_root_directory=None
其实这些导入时带参数的库,对应的测试库都是用类实现的
这些参数就是类的初始化方法init里面的参数
变量的用法
RF中的变量 , 实质上就是一个python变量,他只想一个python对象 。
所以RF的变量对应的是什么Python对象 , 他就是什么类型的对象
循环
RF用:FOR来实现循环,没有while循环
对应的文档解释在这里
:FOR \ 为旧语法 、
FOREND为新语法
range用法
python中 , 我们常常用到range方法,RF也有类似的支持
RF自定义库 1、自定义的库
2、使用自定义库
类或者模块的形式 。
模块名称 = 库名 。
模块名称和类名保持一致 = 库名
如果是类:ROBOT_LIBRARY_SCOPE = "GLOBAL"
使用:
Library 库名-相对路径
按照其他库的关键字调用方式一样 。
创建测试库类/模块
静态(Static)API
最简单的办法是实现一个模块(用Python) , 或者类(用Python或Java),其中的方法(methods)直接映射为关键字名称 。关键字接受和方法相同的参数 。
创建测试库类或模块
测试库的实现可以是Python模块,也可以是Python或Java类 。
如果是Python模块,使用 all? =['函数名称']来指定哪些函数是你想要被RF识别为关键字的 。
参看RF自带库DateTime
【关于rf使用python函数的信息】python类的可参看String库、seleniumLibrary库等 。
通过属性ROBOT_LIBRARY_SCOPE来控制
这个属性是一个字符串,可以有以下三种取值:
TEST CASE
为每个测试用例创建新的实例 。如果有suite setup和suite teardown的话,同样也会新建 。这是默认行
TEST SUITE
为每个测试集创建新的实例,最底层的测试集,也就是有测试用例文件组成的测试集,拥有属于自己的测试库实例 , 高层的测试集,都有属于自己的测试库实例 。
GLOBAL(最常用)
整个测试执行过程中只有一个实例被创建 。所有的测试集合测试用例共享这个实例 。通过模块创建的测试库都是全局的 。

推荐阅读