Robot Framework - 3 - 测试库API
08- 创建测试库--发布测试库
***** 测试库文档
***** 对测试库进行测试
***** 打包测试库
***** 不推荐的关键字
示例: LibraryExampleD.py
# -*- coding: utf-8 -*-
###发布测试库
class LibraryExampleD():
#测试库文档
"""This is an example library with some documentation."""
def keyword_with_short_documentation(self, argument):
"""This keyword has only a short documentation"""
pass
def keyword_with_longer_documentation(self):
"""First line of the documentation is here.
Longer documentation continues here and it can contain
multiple lines or paragraphs.
"""
pass
#不推荐的关键字
def example_keyword(argument):
"""*DEPRECATED* Use keyword `Other Keyword` instead.
This keyword does something to given `argument` and returns the result.
"""
09- Robot Framework 的测试库 API
10- 创建测试库-- 动态测试库
***** 获取关键字的名称
***** 运行关键字
***** 获取关键字的参数
***** 获取关键字的文档
***** Remote
示例: LibraryExampleE.py
# -*- coding: utf-8 -*- ###动态测试库 class LibraryExampleE(): #获取关键字名称
def get_keyword_names(self):
return ['first keyword', 'second keyword']
#运行关键字
def run_keyword(self, name, args):
print "Running keyword '%s' with arguments %s." % (name, args)
#获取关键字的参数
def get_keyword_arguments(self, name):
return ['*arguments']
#获取关键字的文档
def get_keyword_documentation(self, name):
return """This is an example Dynamic library with some documentation."""
11- 创建测试库-- 混合测试库
***** 获取关键字的名称
***** 运行关键字
***** 获取关键字的参数和文档
***** 小结
***** Telent
示例: LibraryExampleF.py
# -*- coding: utf-8 -*-
#混合测试库 import LibraryExampleFlib class LibraryExampleF():
"""This is an example Dynamic library with some documentation."""
#获取关键字名称
def get_keyword_names(self):
return ['my_keyword','external_keyword']
#运行关键字
def my_keyword(self, arg):
print "My Keyword called with '%s'" % arg
#__getattr__方法
def __getattr__(self, name):
if name == 'external_keyword':
return LibraryExampleFlib.hello
raise AttributeError("Non-existing attribute '%s'" % name) LibraryExampleFlib.py
def hello():
print "Hello, world!"
def Nothing():
pass
12- 创建测试库-- 使用 Robot Framework 内部模块
示例: LibraryExampleG.py
# -*- coding: utf-8 -*- ###使用RobotFramework内部模块 import os.path
from robot.libraries.BuiltIn import BuiltIn class LibraryExampleG(): def do_something(argument):
output = 'do_something_that_creates_a_lot_of_output(argument)'
outputdir = BuiltIn().replace_variables('${OUTPUTDIR}')
path = os.path.join(outputdir, 'results.txt')
f = open(path, 'w')
f.write(output)
f.close()
print '*HTML* Output written to <a href="results.txt">results.txt</a>'
13- 创建测试库-- 扩展已存在的测试库
***** 修改原始代码
***** 继承
***** 直接使用其他测试库
***** 从 Robot Framework 中获取活动的测试库实例
***** 使用动态库或者混合库 API 的测试库
Robot Framework - 3 - 测试库API的更多相关文章
- Robot Framework自定义测试库的作用域的理解
robot framework中,强大的测试库api支持,用户可根据实际需求定义测试库,导入后可使用自定义库中相应的关键字. 当自定义的测试库是类库,则需要考虑一个问题:类实例.用类实现的库可以有内部 ...
- Robot Framework 自动化测试 Selenium2Library 库 用法
Robot Framework自动化测试Selenium2Library库详细用法 一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com ...
- 使用远程接口库进一步扩展Robot Framework的测试能力
引言: Robot Framework的四层结构已经极大的提高了它的扩展性.我们可以使用它丰富的扩展库来完成大部分测试工作.可是碰到下面两种情况,仅靠四层结构就不好使了: 1.有些复杂的测试可能跨越多 ...
- Robot Framework(Collections 库)
Collections 库 Collections 库同样为Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 在使用之前需要在测试套件(项目)中添加:
- robot framework自定义python库
自定义python库的好处: robot framework填表式,将python的灵活性弄没了,但是不要担心,RF早就想到了解决办法,就是扩充自己的库. 1.在python应用程序包目录下创建一个新 ...
- Robot Framework(Databaselibrary库操作)
1.安装 DatabaseLibrary 库 DatabaseLibrary 下载地址:https://pypi.python.org/pypi/robotframework-databaselibr ...
- Robot Framework(Screenshot 库)
Screenshot 库 Scrennshot 同样为 Robot Framework 标准类库,我们只将它提供的其它中一个关键字“TakeScreenshot”,它用于截取到当前窗口.虽然 Scre ...
- Robot Framework web测试demo
1.Open RIDE: ride.py 2.New Project: "File" -> "New Project" ,click "OK&q ...
- Robot Framework自动化测试Selenium2Library库详细用法
一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com chrome 浏览器对应的关键字: firefox FireFox ff internete ...
随机推荐
- oracle12C安装步骤
首先去官网下载两个架包链接如下:官网链接 第一步:将两个架包解压到同一个database目录下.如截图所示: 第二步:打开setup应用程序 打开后就到了下面这个页面 第三步:配置安全更新 环境变量配 ...
- day 14:深浅copy,数据结构 ,函数,set集合,变量作用域、返回值
本节内容: 1,深浅copy 2,数据结构 3,函数 4,变量作用域 5,返回值,return 一.深浅copy 首先理解当给变量赋值的时候,是给变量存在值所在的内存地址 a = 10000 b = ...
- 2019新版UI设计面试题汇总(附答案)
问题一.Android手机的常用设计尺寸有_________.怎么适配ios和安卓. 答案:安卓320 X 480是常规模拟器.但现在的开发都是用360x640做一倍率.480 X 800(1.5倍率 ...
- [规则原则定理]规则原则定理章4 HTTP&RPC
rpc是远端过程调用,其调用协议通常包含传输协议和序列化协议. 传输协议包含: 如著名的 [gRPC](grpc / grpc.io) 使用的 http2 协议,也有如dubbo一类的自定义报文的tc ...
- leetcode 算法分类
来源 https://www.bilibili.com/video/av42947553 advance 二分查找 bst dp 敲黑板 重点 图 graph 查找 search 很多都和DP吻 ...
- 根据select出来的数据进行update
update t_tbl_desc set num=b.num from t_tbl_desc a, (select distinct(name) as name,count(name) num fr ...
- HTML5-之workers(多线程执行)
注:test.js 不涉及DOM元素
- C# 互通操作 (二)基础知识1
[DllImport("user32.dll", EntryPoint = "MessageBox")] public static extern int De ...
- mysql 主从库同步
#主库修改my.ini [mysqld] server log-bin=mysql-bin binlog-do-db=demo #从库修改my.ini [mysqld] server replicat ...
- Mysql Navicat连接
mysql -u root ip; 1.use mysql; 2.alter user 'root'@'localhost' identified with mysql_native_password ...