1、在 D:work_softwarepythonLibsite-packages 文件夹下, 新建 python package 包 ,例如我的是 TestLibrary
- 建好后的完整路径:D:work_softwarepythonLibsite-packagesTestLibrary
- (Tips:我的 python 是安装在 D 盘,在创建时,要根据自己的安装路径选择)
2、在 D:work_softwarepythonLibsite-packagesTestLibrary 文件夹下查看是否有 __init__.py 文件,若没有新建 __init__.py (空内容文件)。
- 建好后的完整路径:D:work_softwarepythonLibsite-packagesTestLibrary\__init__.py
3、在 D:work_softwarepythonLibsite-packagesTestLibrary 文件夹下,新建自己的关键字文件,例如我的是 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_softwarepythonLibsite-packagesTestLibrary __init__.py 修改该文件内容为
- 特别注意:在 __init__.py 文件中,创建 class 时,类名必须和自己的库文件夹名称相同。
- 例如我的类名称是 TestLibrary,而创建的库名也是 TestLibrary → D:work_softwarepythonLibsite-packagesTestLibrary
#__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。