变量的使用

robotframe使用python变量 robotframework变量定义_用例

robotframe使用python变量 robotframework变量定义_加载_02

 

在 Edit 标签页中主要分:加载外部文件、定义内部变量、定义元数据等三个部分。

(1):加载外部文件Add Library:加载测试库,主要是[PYTHON 目录]\Lib\site-packages 里的测试库

Add Resource:加载资源,主要是你工程相关的资源文件

Add Variables:加载变量文件。

(2):定义内部变量Add Scalar:定义变量    Add List:定义列表型

字符串连接

${newStr}   catenate   heool   FR
log    ${newStr}

robotframe使用python变量 robotframework变量定义_Python_03

 

 

 时间

${t} get time
log ${t}
sleep 5
${t} get time

robotframe使用python变量 robotframework变量定义_加载_04

 

 

 分支结构

robotframe使用python变量 robotframework变量定义_用例_05

robotframe使用python变量 robotframework变量定义_用例_06

 

 

 奇怪的是,表格中。。。没有实现占位,所有分支都排在同一行了

 

循环语句

robotframe使用python变量 robotframework变量定义_加载_07

 

 

 

robotframe使用python变量 robotframework变量定义_用例_08

 

 

 

 

 

导入库

 如果添加的库不存在或库名错误,将会红色显示,黑库正常表示正常。

如果你是在“测试套件”中添加的库,那么这个库中所提供的关键字可以被当前测试套件下的用例使用。

如果你是在“测试项目”中添加的库,当前项目下的测试用例不能使用库中的关键字,需要在用例相应的“测试套件”中再次添加

定义公共变量
点击 Edit 标签页右侧的“Add Scalar”按钮来创建变量。这里创建的变量可以被整个测试套件中的用例所使用。也可以认为是一个“公共变量‘’

robotframe使用python变量 robotframework变量定义_用例_09

  打印字典、列表,用log时,要用$符号,不能用& @ 符号。 

robotframe使用python变量 robotframework变量定义_Python_10

  或者log many,可以直接使用& @符号。

Tags :用于给用例添加标记。在Run时决定只执行打tag的用例,或skip打tag的用例。

Setup 和 Teardown:如果你了解 unittest 单元测试框架的话,一定对这两个单词不陌生。

setUp 用于设置初始化工作,在每一个测试用例前先被执行tearDown 方法在每个测试方法执行后调用,这个方法用于完成测试用例执行后的清理工作,如执行“close browser”关闭浏览器 。

 

=======================

Builtin库提供常用的关键字

1、log

log 关键字就是编程语言里的“print”一样,可以打印任何你想打印的内容。

robotframe使用python变量 robotframework变量定义_用例_11

robotframe使用python变量 robotframework变量定义_用例_12

2、定义变量

通过“Set variable”关键字来定义变量

robotframe使用python变量 robotframework变量定义_加载_13

robotframe使用python变量 robotframework变量定义_Python_14

3、连接对象

“Catenate”关键字可以连接多个信息

robotframe使用python变量 robotframework变量定义_用例_15

robotframe使用python变量 robotframework变量定义_加载_16

加上“SEPARATOR=”可以对多个连接的信息进行分割。

robotframe使用python变量 robotframework变量定义_用例_17

robotframe使用python变量 robotframework变量定义_Python_18

4、定义列表

通过“Create List”关键字可以定义列表。每个字符串前面加 u,是为了统一编码问题,将字符串转为 Unicode 编码。

robotframe使用python变量 robotframework变量定义_用例_19

robotframe使用python变量 robotframework变量定义_Python_20

如果通过“@{}”去定义列表的话,可以通过“log many”关键字进行打印

robotframe使用python变量 robotframework变量定义_加载_21

robotframe使用python变量 robotframework变量定义_加载_22

5、时间的操作

 Robot Framework 中提供了“get time”关键字用来获取当前时间。

 

robotframe使用python变量 robotframework变量定义_Python_23

robotframe使用python变量 robotframework变量定义_加载_24

6、设置休眠时间

“sleep”关键字用来设置休眠一定时间,sleep 关键字默认以“秒”为单位。

robotframe使用python变量 robotframework变量定义_加载_25

robotframe使用python变量 robotframework变量定义_用例_26

7、if语句

通过“run keyword if”关键字可以编写 if 分支语句。

robotframe使用python变量 robotframework变量定义_用例_27

首先定义一个变量 a 等于 59 。
If 判断 a 大于等于 90 ,满足条件 log 输出 “优秀 ”;
不满足上面的条件,接着 else if 判断 a 大于等于 70 ,满足条件 log 输出 “良好”;
不满足上面的条件,接着 else if 判断 a 大于等于 60 ,满足条件 log 输出 “及格”;
上面的条件都不满足,else log 输出“不及格”。
注:注意 ELSE IF 和 ELSE 前面的三个点点点(...)。注意ELSE IF和ELSE要是大写。

8、for 循环

在 Robot Framework 中编写循环通过“:for”。通过“:for”定义 for 循环;in range 用于指定循环的范围。

例子1,这个例子为执行 10 次循环

robotframe使用python变量 robotframework变量定义_用例_28

robotframe使用python变量 robotframework变量定义_Python_29

注意:in range 定义为 10,它的范围是 0~9

例 2,遍历列表

“create list” 关键字用来定义列表(a,b,c),“@{}”用来存放列表。通过过“:for”循环来来遍历@{abc}列表中的字符。

robotframe使用python变量 robotframework变量定义_加载_30

robotframe使用python变量 robotframework变量定义_加载_31

例 3,循环中的判断

通过“Exit For Loop If”关键字时行 for 循环内的判断,当满足 Exit For Loop If 条件后,循环结束。

robotframe使用python变量 robotframework变量定义_用例_32

robotframe使用python变量 robotframework变量定义_加载_33

从执行结果看到当循环到字符 b 时,Exit For Loop If 条件成立,结束循环;通过 log 打印当前的字符 b。

9、强大的 Evaluate

因为通过它可以使用 Python 语言中所提供的方法

例 1,生成随即数

robotframe使用python变量 robotframework变量定义_加载_34

使用Evaluate关键字之后可使用Python中的类和方法

robotframe使用python变量 robotframework变量定义_Python_35

robotframe使用python变量 robotframework变量定义_Python_36

例 2,执行本地程序

robotframe使用python变量 robotframework变量定义_Python_37

通过调用 Python 所提供的 os 模块中的 system()方法可以执行本地 Python 文件。至于在.py 文件中
Python 可以做任何想做的事。
对于 system()方法来说,它也不单单可执行 Python 文件,任何在 cmd 命令提示符下可运行文件和命
令,它都可以执行。
不过,一般情况下不建议通过 system()方法去执行外部程序。这样做其实就脱离了 Robot Framework,
也就是说不管 Robot Framework 什么事了。我们尽量把要做的事情通过 Python 封装成关键字给 Robot
Framework 使用。

 10、导入库

(1)“Import Library”等同于 Python 语言中的 import。Robot Framework 会遍历 Python 安装目录下的相关目录查找“Selenium2Library”模块

robotframe使用python变量 robotframework变量定义_Python_38

(2)调用 Python 文件

首先创建 test.py 文件

#coding=utf-8
def add(a,b):
    return a+b
if __name__ == "__main__":
    a = add(4,5)
    print a

通过“Evaluate”转化成为 int 类型后,再调用 add 就得到了想要的结果。

robotframe使用python变量 robotframework变量定义_用例_39

robotframe使用python变量 robotframework变量定义_Python_40

11、注释

Robot Framework 中添加注释也非常简单。

(1)“Comment”关键字用于设置脚本中的注释。

(2)也可以像 Python 一样使用“#”号进行注释

robotframe使用python变量 robotframework变量定义_加载_41

 

-----------------------------------------Have a good day!---------------------------------------------------------------------------------------------------