RF(自定义关键字)
1、在 D:\work_software\python\Lib\site-packages 文件夹下, 新建 python package 包 ,例如我的是 TestLibrary
- 建好后的完整路径:D:\work_software\python\Lib\site-packages\TestLibrary
- (Tips:我的 python 是安装在 D 盘,在创建时,要根据自己的安装路径选择)
2、在 D:\work_software\python\Lib\site-packages\TestLibrary\ 文件夹下查看是否有 __init__.py 文件,若没有新建 __init__.py (空内容文件)。
- 建好后的完整路径:D:\work_software\python\Lib\site-packages\TestLibrary\__init__.py
3、在 D:\work_software\python\Lib\site-packages\TestLibrary\ 文件夹下,新建自己的关键字文件,例如我的是 keywords.py
- 输入自定义的关键字如下
import time
class ForTime():
def __init__(self):
pass
def format_time(self):
"""
返回格式化时间
"""
return time.strftime("%Y-%m-%d %H-%M-%S")
if __name__ == '__main__':
print(ForTime().format_time())
4、D:\work_software\python\Lib\site-packages\TestLibrary\ __init__.py 修改该文件内容为
- 特别注意:在 __init__.py 文件中,创建 class 时,类名必须和自己的库文件夹名称相同。
- 例如我的类名称是 TestLibrary,而创建的库名也是 TestLibrary → D:\work_software\python\Lib\site-packages\TestLibrary
#__author:Mr.ZHENG
#data:2020/3/12 from TestLibrary.keywords import ForTime #导入刚刚定义的类 class TestLibrary(ForTime): #新建类继承 keywords.py 文件中的类,且这里的类名需要与自定义的库名一致 ROBOT_LIBRARY_SCOPE = "GLOBAL" #将我们的库设置全局
5、在 robotframework 中,点击 Library 导入自定义库
- 导入自定义库文件 TestLibrary,正确时为灰色字体(导入库文件,就不需要说明了)
6、完整的文件结构应该是这样:
- TestLibrary
- ——- __init__.py
- ——- keyword_s.py
7、以下自己遇到的一些问题的debug
- 尽量在文件的开头加上:# -- coding: utf-8 --,因为 python 默认编码是 ascii,所以如果代码中有(),或中文等等符号,会报错,提示编码不正确
- 如果写的代码里边有中文,尽量在文件开头加上以下3行代码
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
- 如果在初始化函数中,定义了形参,则必须在导入库的时候,也要提供对应的参数,不然会提示少给了变量的报错。
def __init__(self,a,b):
pass
- 修改代码后,及时把对应的 .pyc 文件删除并且重启下 robotframework 后,再导入。
- 如果还是有其他的报错,请点击 Tools→View RIDE log ,查看并 debug。
RF(自定义关键字)的更多相关文章
- 多测师讲解自动化测试 _RF自定义关键字_高级讲师肖sir
RF自定义关键字 在rf中叫关键字 在python中就叫做函数 或实例方法 我们自己可以写自定义关键字 自己创建一个库===库里面去创建模块===模块里面创建类和实例方法==>rf导入和引用 库 ...
- RF自定义系统关键字
如果您准备学习Python,船长在这里给大家推荐几个学习Python的好地方: 1.廖雪峰官网 http://www.liaoxuefeng.com/wiki/001374738125095c95 ...
- robotframework实战三--自定义关键字
在rf的实战1中,我的登录获取验证码就使用了自定义关键字,具体怎么做的,如下 1.新建文件夹 新建一个文件夹,我的MyLibrary,并且存放在site-packages下 2.编写代码 在pytho ...
- c/c++ 标准库 set 自定义关键字类型与比较函数
标准库 set 自定义关键字类型与比较函数 问题:哪些类型可以作为标准库set的关键字类型呢??? 答案: 1,任意类型,但是需要额外提供能够比较这种类型的比较函数. 2,这种类型实现了 < 操 ...
- RF之关键字、变量、循环
关键字的使用: RF的能力是由关键字提供的,所以,我们必须对RF的常用关键字有个了解 . 最常用的关键字就在RF的关键字中.http://robotframework.org 其中Builtin是标准 ...
- RF自定义库和关键字
1:在D:\work_software\python\Lib\site-packages 文件夹下, 新建python package文件夹 ,例如我的是TestLibrary 建好后的完整路径:D: ...
- robot framework笔记(三):扩展SeleniumLibrary库 (自定义关键字)
(一)自定义和浏览器相关的关键字 以下代码GitHub 版本库地址: https://github.com/blairwind/blog_rf SeleniumLibrary的扩展文档中提供了3种增加 ...
- katalon系列十:Katalon Studio自定义关键字之拖拽
Katalon Studio自带关键字“Drag And Drop To Object”,可以在这个网站实践:http://jqueryui.com/droppable/#default 不过“Dra ...
- RF --系统关键字开发
需求: 接收一个目录路径,自动遍历目录下以及子目录下的所有批处理(.bat) 文件并执行. 首先在..\Python27\Lib\site-packages 目录下创建 CustomLibrary 目 ...
随机推荐
- 一、华为模拟器eNSP下载与安装教程
简单介绍一下 eNSP: eNSP是一款由华为提供的免费的图形化网络仿真工具平台,它将完美呈现真实设备实景(包括华为最新的ARG3路由器和X7系列的交换机),支持大型网络模拟,让你有机会在没有真实设备 ...
- python3(三十六)StringIO BytesIO
""" StringIO和BytesIO """ __author__on__ = 'shaozhiqi 2019/9/23' # !/us ...
- Jackson优化使用实例
Jackson优化使用实例 博客分类: Java综合 JSON的三种处理方式 Jackson提供了三种可选的JSON处理方法(一种方式及其两个变型): 流式 API:(也称为"增量分析 ...
- java web之Filter详解
java web之Filter详解 2012-10-20 0 个评论 作者:chenshufei2 收藏 我要投稿 .概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,W ...
- docker深入学习
docker深入学习 一.容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+D ...
- 微服务框架-Spring Cloud
Spring Cloud入门 微服务与微服务架构 微服务架构是一种新型的系统架构.其设计思路是,将单体架构系统拆分为多个可以相互调用.配合的独立运行的小程序.这每个小程序对整体系统所提供的功能就称为微 ...
- 最长回文子窜O(N)
字符窜同构的性质:同构字符窜拥有最小和最大的表示方法: 最长回文子窜: 1.首先暴力法:(n三方) 枚举每个起点和终点,然后单向扫描判断是不是回文子窜: 2.中心扩散法,(N方) 枚举每个中点,向外扩 ...
- 解决从服务器获取的数组是 __NSCFConstantString以及""没有空格字符串的问题
AJ分享,必须精品 问题 项目遇到了个bug,从服务器获取到的数据是这样的 { status = 1, data = [ { uid = 161, type = 2, id = 79, addtime ...
- Nginx+uWSGI+Python+Django构建必应高清壁纸站
写在前面 做这个网站的初衷是因为,每次打开必应搜索搜东西的时候都会被上面的背景图片吸引,我想必应的壁纸应该是经过专业人员精选出来的,我甚至会翻看以前的历史图片,唯一美中不足的是必应的首页只能查看最多7 ...
- PAS
一.概念 二.安装 打开Delphi,在主菜单上选择Component,单击Install Component,出现图所示的对话框.有两个选择,装到已经存在的包里面和装到新的包里面.我们选择后者,单击 ...