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 (如箭头)
Robot Framework(5)- 使用测试库的更多相关文章
- Robot Framework - 2 - 创建测试库
04- 创建测试库--基础概念 Robot Framework 实际的测试能力是由测试库提供的. ***** 支持的编程语言 Robot Framework 自身是用 Python 编写的,能使用 P ...
- Robot Framework - 建立本地测试环境
注意:本文内容是以“在Window7系统中安装本地RobotFrmamework自动化测试环境”为例. Robot Framework简介 HomePage:http://robotframework ...
- Robot Framework常用的操作库列表
标准库是Robot Framework可以直接导入使用的库,包含以下几类: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的 ...
- Robot Framework - 基础关键字 BuiltIn 库(二)
本篇教程,我们继续接着上篇内容进行讲解,我们本节教程讲解的是Robot Framework 机器人框架中的变量中使用判断.字符串的拼接.Evaluate的用法.调用Python文件.条件分支语句.以及 ...
- Robot Framework - 基础关键字 BuiltIn 库(一)
今天给大家分享的是Robot Framework 机器人框架中 BuiltIn 基础库的使用...BuiltIn 库里面提供了很多基础方法助力于我们在自动化测试领域中做的更好!——本系列教程是教会大家 ...
- 学习Robot Framework必须掌握的库—-BuiltIn库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...
- robotframework的学习笔记(十四)------学习Robot Framework必须掌握的库—-BuiltIn库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...
- 【转】学习Robot Framework必须掌握的库—-BuiltIn库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...
- 用Robot Framework+python来测试基于socket通讯的C/S系统(网络游戏)
项目终于换了方案,改用socket来实现而不是之前的http了,所以测试工具就不能用以前的了,因为测试人手少,逼不得已的必须要挖掘更多的自动化方案来弥补.于是先研究了下python的socket解决方 ...
- robot framework学习五——AutoltLibrary库
安装中遇到的问题: 安装好了AutoItLibrary,但是导入到RIDE后,仍然红色显示 搜索了下解决办法,说要安装下autoit-v3-setup.exe https://www.autoitsc ...
随机推荐
- windows服务程序的编写
服务编写https://blog.csdn.net/lanuage/article/details/77937407 #include <windows.h> #include <s ...
- 数组输出黑科技----fwrite()
fwrite(const void*buffer,size_t size,size_t count,FILE*stream); (1)buffer:是一个指针,对fwrite来说,是要输出数据的地址. ...
- 2019 ICPC 南京网络赛 F Greedy Sequence
You're given a permutation aa of length nn (1 \le n \le 10^51≤n≤105). For each i \in [1,n]i∈[1,n], c ...
- unittest 管理接口用例(数据分离-读取excel)
1.公共模块 ---> login.xls """ common (package) ---> ReadFile.py """ ...
- 聊聊select, poll 和 epoll_wait
聊聊select, poll 和 epoll 假设项目上需要实现一个TCP的客户端和服务器从而进行跨机器的数据收发,我们很可能翻阅一些资料,然后写出如下的代码. 服务端 客户端 那么问题来了,如果有一 ...
- go 模板详说
模板是我们常用的手段用于动态生成页面,或者用于代码生成器的编写等.比如把数据库的表映射成go语言的struct,这些体力活,写个代码生成器是最合适不过的了. 示例例把表转成 struct : 当然这篇 ...
- ES[7.6.x]学习笔记(七)IK中文分词器
在上一节中,我们给大家介绍了ES的分析器,我相信大家对ES的全文搜索已经有了深刻的印象.分析器包含3个部分:字符过滤器.分词器.分词过滤器.在上一节的例子,大家发现了,都是英文的例子,是吧?因为ES是 ...
- java基础篇 之 非静态内部类
什么是非静态内部类: public class Outer { Outer() { System.out.println("我是外部类"); } class Inner { Inn ...
- Spring Cloud学习 之 Spring Cloud Ribbon(负载均衡策略)
文章目录 AbstractLoadBalancerRule: RandomRule: RoundRobinRule: RetryRule: WeightedResponseTimeRule: 定时任务 ...
- Spring Cloud 学习 之 Spring Cloud Ribbon(基础知识铺垫)
文章目录 1.负载均衡: 2.RestTemplate详解: xxxForEntity/xxxForObject:主要介绍get跟post exchange: execute源码分析: 1.负载均衡: ...