在学习一门编程语言的时候,大多教材都是从打印“hello world”开始。咱们能够像编程语言同样来学习 Robot Framework。虽然经过 RIDE 提供“填表”同样的写测试用例的方式。但它却有着像编程语言
同样的强大的关键字,以及能够开发关键字的扩展能力。编程
log 关键字就是编程语言里的“print”同样,能够打印任何你想打印的内容。
在 test case 中填写如下内容:小程序
勾选测试用例,点击工具栏的“Run Tests”按钮或按快捷键“F8”执行测试用例。如图:框架
在 Run 标签页,将看到执行结果:dom
经过运行结果中看到,“ INFO:”的“hello world” 就是经过 log 关键字打印的信息。编程语言
在 robot Framework 中经过“Set variable”关键字来定义变量,如:函数
执行结果:工具
“Catenate”关键字能够链接多个信息。单元测试
执行结果:学习
加上“SEPARATOR=”能够对多个链接的信息进行分割。测试
执行结果:
经过“Create List”关键字能够定义列表。例 1
执行结果:
每一个字符串前面加 u,是为了统一编码问题,将字符串转为 Unicode 编码。
例 2
若是经过“@{}”去定义列表的话,能够经过“log many”关键字进行打印
执行结果:
在 Robot Framework 中也提供操做时间的关键字。
1) Robot Framework 中提供了“get time”关键字用来获取当前时间。
执行结果:
2) “sleep”关键字用来设置休眠必定时间。
sleep 关键字默认以“秒”为单位。
执行结果:
经过先后两次获取当前时间的差,能够清楚的看到 sleep 休眠 5 秒所起的做用。
经过“run keyword if”关键字能够编写 if 分支语句。
首先定义两个变量 a 等于 59 。
If 判断 a 大于等于 90 ,知足条件 log 输出 “优秀 ”;
不知足上面的条件,接着 else if 判断 a 大于等于 70 ,知足条件 log 输出 “良好”;
不知足上面的条件,接着 else if 判断 a 大于等于 60 ,知足条件 log 输出 “及格”;
上面的条件都不知足,else log 输出“不及格”。
注:注意 sele if 和 else 前面的三个点点点(...)
执行结果:
7 for 循环
在 Robot Framework 中编写循环经过“:for”。
例 1,执行 10 次循环。
经过“:for”定义 for 循环;in range 用于指定循环的范围。
注意,in range 定义为 10,它的范围是 0~9。
例 2,遍历列表。
“create list” 关键字用来定义列表(a,b,c),“@{}”用来存放列表。
经过过“:for”循环来来遍历@{abc}列表中的字符。
执行结果:
为何说“Evauate”关键字强大呢。由于经过它能够使用 Python 语言中所提供的方法。
例 1,生成随即数
在 Python 中咱们能够这样来引和并使用方法:
Python Shell
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import random
>>> random.randint(1000, 9999)
3308
random 模块的 randint()方法用于获取当前时间。
在 Robot Framework 中使用“Evauate”也能够调用 Python 所提供的 random 模块下的 randint()方法。
执行结果:
例 2,执行本地程序
经过调用 Python 所提供的 os 模块中的 system()方法能够执行本地 Python 文件。至于在.py 文件中
Python 能够作任何想作的事。
对于 system()方法来讲,它也不仅仅可执行 Python 文件,任何在 cmd 命令提示符下可运行文件和命
令,它均可以执行。
不过,通常状况下不建议经过 system()方法去执行外部程序。这样作其实就脱离了 Robot Framework,
也就是说无论 Robot Framework 什么事了。咱们尽可能把要作的事情经过 Python 封装成关键字给 Robot
Framework 使用。
在 Python 语言中能够使用 import 导入标准和第三方模块或框架。那么在 Robot Framework 中也提供
了“Import Library”关键字来完成这个事情。
一、调用框架
咱们导入了 Python 标准的单元测试框架 unittest。固然,在 Robot Framework 中并不能使用 unittest
单元测试框架。这只里只演示“Import Library”等同于 Python 语言中的 import。
假如咱们经过“Import Library”导入一个不存在的模块“HTMLTestRunner”
Robot Framework 会遍历 Python 安装目录下的相关目录查找“HTMLTestRunner”模块。
二、调用 Python 文件
首先建立 test.py 文件。
test.py
#coding=utf-8
def add(a,b):
return a+b
if __name__ == "__main__":
a = add(4,5)
print a
运行结果为 9,这是再简单不过的小程序了。
下面就经过 Robot Framework 调用 test.py 文件中的 add()函数。
执行结果:
从执行结果中看到和预想的结果不是样,不该该是 9 么?怎么是 45。这是由于 Robot Framework 把 4
和 5 当前两个字符串。因此 4 和 5 拼接起来是 45。咱们能够将 4 和 5 转化成 int 类型,再调用 add。
执行结果:
经过“Evaluate”转化成为 int 类型后,再调用 add 就获得了想要的结果。
10 注释
Robot Framework 中添加注释也很是简单。“Comment”关键字用于设置脚本中的注释。
除此以外,你也能够像 Python 同样使用“#”号进行注释。
这一小节中介绍的关键字所有由 Builtin 库提供,Builtin 为 Robot Framework 标准类库。Builtin库提供经常使用的关键字。