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 ...
随机推荐
- 包管理工具-yarn
今天知道了一个新的包管理工具叫yarn,总结如下: 如果你知道npm的使用过程,那么yarn你就觉着相见恨晚呐...... npm存在的问题: >安装的时候无法保证速度的一致性 >安全问题 ...
- 文件操作命令(del)
del 命令: // 描述: 删除一个或多个文件.同等于 erase 命令. 相比较 rd 命令来说,del 命令只能删除文件,不能删除文件夹. // 语法: del [/p] [/f] [/s] [ ...
- 修改maven的源地址为阿里源
在放maven的安装文件里,找到settings.xml,如下图所示 将默认的源地址改为阿里源,需要在settings.xml文件相应的位置上加上如下的一串: <mirror> < ...
- CSS追加笔记
box-shadow 属性向框添加一个或多个阴影. 语法 box-shadow: h-shadow v-shadow blur spread color inset;注释:box-shadow 向框添 ...
- django中的modelform和modelfoemset
一. ModelForm ModelForm是根据Model来定制的Form 二. ModelForm的创建 from django import forms from app import mode ...
- vue + spring boot + spring security 前后端分离 携带 Cookie 登录实现 只写了个登录
最近想弄一下vue 所以就自己给自己找坑入 结果弄的满身是伤 哈哈哈 首先我说下 前后端分离 跨域请求 我在网上找了一些 可是都是针对于 spring boot 的 我自己还有 securi ...
- What's the Difference Between Iterators and Generators in Python
https://www.quora.com/Whats-the-difference-between-iterators-and-generators-in-Python
- python之路(十一)-socke开发
socket简介 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. so ...
- Vim常用的命令
Noted:均在命令模式下进行的 移动: j---->向下 k---->向上 l---->向右 h---->向左 保存: w---->保存 退出: q---->退出 ...
- hdu 4370
这个题说实话我没看出来,我看的别人的博客 https://blog.csdn.net/u013761036/article/details/39377499 这个人讲的很清楚,可以直接去看他的 题目给 ...