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 目 ...
随机推荐
- "一号标题"组件:<h1> —— 快应用组件库H-UI
 <import name="h1" src="../Common/ui/h-ui/text/c_h1"></import> < ...
- python数据类型及有关的实用函数
本系列例子使用python3.x, 编辑时间:2019-09-03,23:03:36 python以“对象引用”来存储数据,以对象来表达数据,每个对象都具有身份,对象和值. 实用函数: id(): 查 ...
- Android 开发小零碎
1.EditText默认就会自动获取焦点, 如何让EditText不自动获取焦点? 解决之道:在EditText的父级控件中找一个,设置成 android:focusable="true&q ...
- 02-css3之2D转换
一.CSS3 -2D转换 转换(transform)可以实现元素的位移.旋转.缩放等效果.可以理解为变形. 1. 2D转换之移动translate 可以改变元素的页面中的位置,类似于定位. 1.1语法 ...
- Pytest系列(23)- allure打标记,@allure.feature()、@allure.story()、@allure.severity()的详细使用
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 前面几篇文章主要介绍了all ...
- Python工业互联网监控项目实战3—websocket to UI
本小节继续演示如何在Django项目中采用早期websocket技术原型来实现把OPC服务端数据实时推送到UI端,让监控页面在另一种技术方式下,实时显示现场设备的工艺数据变化情况.本例我们仍然采用比较 ...
- C#——继承
在某基类中声明 virtual 并在一个或多个派生类中被重新定义的成员函数称为虚函数. 虚函数的作用就是实现多态性(Polymorphism),多态性是将接口与实现进行分离. C#作为完全面向对象语言 ...
- C - Mind Control CodeForces - 1291C
菜到家了,题意都读不懂. 题目大意: 总共有n个人和n个数字 n个人拍成一队,n个数字也是有顺序的 你排在第m个位置 按照顺序的每个人可以拿走这个序列中的第一个数字或者最后一个数字 你可以在所有人操作 ...
- flutter和react native如何选择
[关于性能]跨平台开发第一个考虑的就是性能问题RN的效率由于是将View编译成了原生View,所以效率上要比基于Cordova的HTML5高很多,但是它也有效率问题,RN的渲染机制是基于前端框架的考虑 ...
- [PHP] 获取IP 和JS获取IP和地址
通过js获取 服务器 ip 服务器端口 服务器地址 var address=window.location.href; thisDLoc = document.location; var hostpo ...