Robot Framework(5)- 使用测试库
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1770899.html
前言
在RF 测试库里面,分为三种测试库
- 标准测试库
- 扩展测试库
- 远程测试库
标准测试库
啥是标准库
- 它们随 Robot Framework 版本一同发布的测试库, 不需要单独安装,但部分标准库仍然需要手动导入
- 只有 BuiltIn 库是自动导入,不需要手动导入
标准库类别
库 | 介绍 |
BuiltIn | 常用 且 最基础 的关键字 |
Collections | 用于处理 List 和 Dict 的关键字 |
DateTime | 支持创建和验证日期和时间值以及它们之间的计算 |
Dialogs | 支持暂停测试执行并从用户那里获取输入数据 |
OperatingSystem | 支持执行各种与操作系统有关的任务 |
Process | 支持执行系统进程相关 |
Screenshot | 截图 |
String | 处理字符串和验证字符串内容 |
Telnet | 支持连接到Telnet 服务器,并执行命令 |
XML | 用于验证和修改 XML 文档 |
扩展测试库
啥是扩展测试库
标准库以外的其他测试库都统称为扩展测试库,它们是在 RF 开源社区实现的各种库;当然包括了你自己开发的测试库
常见的扩展测试库
常见领域 | 扩展库 |
Web 自动化测试 | |
Window GUI 测试 |
AutoItLibrary |
移动端自动化测试 | |
数据库测试 | |
HTTP测试 | |
文件对比测试 | Diff Library |
远程测试库
啥是远程测试库
- 是一个特殊的标准库,没有关键字
- 它作为一个代理存在于 Robot Framework 和 实际(远程的)测试库中间
- 实际的测试库可以运行在其它机器上, 而且实现语言也不再限于Robot Framework原生支持的编程语言
Library 导入测试库
直接看栗子
栗子说明
- 下图项目目录结构,上面的栗子在第二个红圈的文件内
- MyLibrary 的 两个 library 文件是自己创建的 Python 文件【属于用户自定义的关键字文件】
知识点
- 测试库通常在 Setting 表格中声明 Library 来导入,库名称跟在 Library 后面.
- 库名称既是大小写敏感的,也是空格敏感的
- 如果一个测试库是在某个包里的,则必须指明完整的包名称路径【如: MyLibrary.library2 】
- 测试库的参数也可以使用默认值,不定数量参数【如: MyLibrary.library1 arg1 agr2 】
- 测试库名称和参数都可以使用变量【如: Library ${LIBRARY} ,其实导入的是 DateTime 库】
可以导入测试库的文件包括
- 测试用例文件
- 资源文件
- test suite initialization files【测试条件初始化文件,后面讲】
所有这些场景中,一旦在这些文件中导入了测试库,则测试库中所有关键字在当前文件内都是可见的
对于资源文件,这些关键字在引用这些资源文件的地方也是可见的
Import Library 导入测试库
- 导入测试库的另一种方式是使用 BuiltIn 库提供的关键字 Import Library
- 该关键字也可以传参数
- 导入的关键字在当前的测试套件中可用
- 当测试库在测试执行前不能导入( Settings 中不能导入),只能在执行过程中通过某些关键字来启用时,就可以用 Import Library 来导入某些关键字
测试库设置别名
别名大家应该都知道,就是为了避免不同测试库但是关键字重名的情况
简单栗子
知识点
指定别名是用 WITH NAME ,必须大写,小写会报错
传参数和别名指定关键字的栗子(忽略爆红)
知识点
- 如果测试库要传参,则参数列表在WITH NAME 前面(如红圈)
- 调用不同库但相同名字关键字的写法: 别名.guan jian zi (如箭头)