如果你还想从头学起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 自动化测试

SeleniumLibrary

Selenium2Library

Selenium2Library for Java

watir-robot

Window GUI 测试

AutoItLibrary
移动端自动化测试

Android library

iOS library

AppiumLibrary

数据库测试

Database Library (Java)

Database Library (Python)

MongoDB library

HTTP测试

HTTP library (livetest)

HTTP library (Requests)

文件对比测试 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 (如箭头)