robot framework自定义python库
自定义python库的好处:
robot framework填表式,将python的灵活性弄没了,但是不要担心,RF早就想到了解决办法,就是扩充自己的库.
1.在python应用程序包目录下创建一个新包:D:\Python27\Lib\site-packages\NewLibrary
这里注意文件夹NewLibrary就是你包的名称,这里顺便说一下包的概念,python区分包和普通文件夹就在于文件夹里是否有一个__init__.py的文件
回到正题
NewLibrary这个包就是之后RF Library要导入的名称
2.创建一个类文件,用来存储你自定义函数的,这里写了个myclass.py的文件(这个名子可以自定义)

3.分别编辑myclass.py与__init__.py的内容
__init__.py内容:
from myclass import MyClass #从myclass.py导入类名为MyClass的类 class NewLibrary(MyClass): #从MyClass断承
ROBOT_LIBRARY_SCOPE = 'GLOBAL' #设置RF选项
myclass.py内容:
class MyClass(object):
def __init__(self):
pass def printMsg(self,msg):
print "hello "+msg
以上写完,打开RF


看一下关键字里,是不是已经有了我们定义的类文件中的函数


在RF中调用我们自定义的函数

另外:输入部分函数名如:print按ctrl+alt+space(空格键),会调出提示

robot framework自定义python库的更多相关文章
- Robot Framework自定义测试库的作用域的理解
robot framework中,强大的测试库api支持,用户可根据实际需求定义测试库,导入后可使用自定义库中相应的关键字. 当自定义的测试库是类库,则需要考虑一个问题:类实例.用类实现的库可以有内部 ...
- Robot Framework - 3 - 测试库API
08- 创建测试库--发布测试库 ***** 测试库文档 为了便于维护,测试库文档应该从源代码中生成. Robot Framework 有自己的文档工具 libdoc.py生成 API 文档. 一个 ...
- Robot Framework 自动化测试 Selenium2Library 库 用法
Robot Framework自动化测试Selenium2Library库详细用法 一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com ...
- Robot Framework: 自定义自己的python库
利用Robot Framework编写测试用例,往往需要开发自己的关键字,有的关键字需要通过自己编写python代码来实现.这在rf中,就需要自己定义python库.这个过程其实不复杂,本文来介绍下. ...
- robot framework用python扩展编写自定义library
我的utils.py文件 #!/usr/bin/env python #-*- coding:utf8 -*- __version__ = '0.1' import sys reload(sys) s ...
- Robot Framework(Databaselibrary库操作)
1.安装 DatabaseLibrary 库 DatabaseLibrary 下载地址:https://pypi.python.org/pypi/robotframework-databaselibr ...
- Robot Framework自动化测试Selenium2Library库详细用法
一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com chrome 浏览器对应的关键字: firefox FireFox ff internete ...
- Robot Framework(Collections 库)
Collections 库 Collections 库同样为Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 在使用之前需要在测试套件(项目)中添加:
- Robot Framework(Screenshot 库)
Screenshot 库 Scrennshot 同样为 Robot Framework 标准类库,我们只将它提供的其它中一个关键字“TakeScreenshot”,它用于截取到当前窗口.虽然 Scre ...
随机推荐
- Ubuntu16.04下安装QT5.8
https://blog.csdn.net/hhrock/article/details/61621044
- 23. 合并K个排序链表
一种方法是分治 类似快排的例子. 第二种使用堆,比较好理解. 堆中保存一个元素是一个链表的头部. /** * Definition for singly-linked list. * public ...
- 多线程 ForkJoinPool
阅读目录 使用 背景:ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势,把一个任务拆分成多个“小任务”,把多个“小任务”放到多个处理器核心上并行执行:当多个“小任务”执行完成 ...
- angularjs 异步请求无法更新数据
angularjs 有个问题就是第二次ajax请求数据再次赋值给 $scope.data,需要更新视图数据的时候,却不能更改视图数据,这个是因为angularjs的$watch不能监听到JS对$sco ...
- 使用graalvm.js调用promise
前提 1.JDK1.8 2.引入jar包 <!--graalvm.js --> <dependency> <groupId>org.graalvm.js</g ...
- virtuanenv+flask
1.virtualenv&flask 专门为特定项目创建一个目录和一个虚拟的Python 运行环境 # 1.安装 virtualenv$ pip3 install virtualenv #.创 ...
- Mysql thread 与 OS thread
测试环境信息如下: OS:Ubuntu 16.04 LTS Mysql:Mysql 5.7.18,使用docker images运行的实例 Mysql如何处理client请求 在Mysql中,连接管理 ...
- javaweb连接数据库并完成增删改查
一.连接数据库 1.mysql数据库的安装和配置 在网上找到了篇关于mysql的安装详细说明,供读者自己学习 https://www.jb51.net/article/23876.htm 2.mysq ...
- LeetCode 566 Reshape the Matrix 解题报告
题目要求 In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a ...
- 原生js获取到页面上所有的checkbox
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...