robotframework常用关键字
robotframework关键字
可以将关键字看作是处理数据的方法。robotframework的关键字和测试数据组成了测试用例。
robotframework关键字包括系统关键字和用户关键字。用户关键字是我们根据业务将不同的业务封装成一个关键字或者将用例执行的步骤封装成一个关键字。系统关键字由各种库分门别类,例如SeleniumLibrary,AutoItLibrary,appiumlibrary, Database Library等。
系统关键字和封装好的用户关键字都需要导入。
常用关键字
1、赋值定义变量关键字: Set variable
如上,给promanage赋值为字符串 ”xpath=/html/dody/div[1]“。
赋值关键字这里需要说明下作用域的概念。
RF变量作用域向下覆盖。
意思是:设置在case内的变量,作用域是字在case内部
userkeyword内的变量,作用域是用户关键字内部
套件suite内的变量,分为文件类型和目录类型。变量的作用域在suit内部,所有的suite下case也可使用。目录类型的suite内变量不传递给下面的文件suit,因此不建议在目录类型的suite下加入变量。
变量作用域是可以修改的,下面几个关键字可以修改变量作用域。
- Set Global Variable :
使用该关键字修改变量作用域后,在所有测试套件suite中都可以使用该关键字定义的变量。但是要注意目录型suite和文件型suite的作用域区别。
举例如下:
在case1中定义的${qq}变量,case2中可以访问到,在case3中不能访问到。
- Set Suite Variable
使用此关键字设置的变量在当前执行的测试套件的范围内随处可用。
- Set Test Variable
使用范围:使用此关键字设置的变量在当前执行的测试用例的范围内随处可用。
2、定义列表关键字:Create List
打印列表注意用“log many”打印出来是分元素的。打印单个元素可以用“log ${listname[i]}”的关键字。
case2中使用关键字:
打印内容如下:
3、if关键字:run keyword if
通过“run keyword if”关键字以及配套的“ELSE IF”,”ELSE”可以编写 if 分支语句。格式如下:
注意:每行的省略号不能少,“ELSE IF”,”ELSE”需要大写。
结果如下:
4、循环关键字:for
RIDE1.7.4.1版本的FOR循环语句结构与RIDE之前版本稍微有些变化,需要在FOR循环语句结束后加上END(注意END一定要大写)。
遍历列表中内容:
注意:IN关键字要大写。END关键字需要且要大写。输出内容如下:
循环中加入判断:
注意:‘${i}’==’b’,当对象是字符或者字符串,需要用单引号包裹。如果是int类型的list,则不需要,如下:
输出内容如下:
5、使用python方法关键字:Evaluate
Evaluate使用 Python 语言中所提供的方法。
通过Evaluate执行本地程序:
通过调用 Python 所提供的 os 模块中的 system()方法可以执行本地 Python 文件。本例中执行了rftest.py这个文件,但是执行这个文件相当于只是用RF触发,执行过程和结果跟RF没什么关系。
6、导入库关键字:import
Import Library等同于 Python 语言中的 import。如果直接在“Import Library”关键字后定义库名,则RF会遍历python安装目录下,找相关库。如果定义的是.py文件地址,则执行该文件。例如:
执行结果如下: