robotframework虽然提供了很多的关键字,但是在实际使用的时候,我们总会感觉有的关键字不符合自己的需求,或者我需要实现某一个功能,但是robotframework没有提供实现该功能的关键字,这个时候,我们就需要自己来定义关键字了,直接上例子。
1、首先进入Python的site-packages目录,我这里的目录是:C:\Python27\Lib\site-packages
2、为了方便管理,我们在site-packages目录下新建一个文件夹,命名为:custometest
3、新建一个Python文件printlog,里面的内容为:
#-*- coding:utf-8 -*-
'''
created by hch 2019-06-26
'''
class printlog():
def printA():
print("hello word")
4、在robotframework导入printlog.py
5、导入成功后查看,library为黑色,代表导入成功(红色代表存在错误导入不成功)
6、F5查看关键字,自定义的Print A展示在关键字列表
一个完整的项目需要定义多个关键字,如果都写在一个文件里面会难以管理,很多时候我们都会根据具体功能来创建不同的文件来进行管理,比如查看robotframework本身的库,我们可以看到浏览器、元素等都是使用不同的Python文件来管理的。
假如创建了多个文件,每次都是使用导入Python的方式,无疑将会需要导入非常多的文件,那么我们可不可以直接导入custometest文件夹呢?
导入的库显示为红色,代表导入失败,查看导入日志:
提示没有名为custometest的模块,查看Python的相关定义:
在导入一个包的时候,Python 会根据 sys.path 中的目录来寻找这个包中包含的子目录。
目录只有包含一个叫做 __init__.py 的文件才会被认作是一个包
那么我们在custometest下面加一个 __init__.py文件看看,新建 __init__.py文件,里面内容如下:
#-*- coding:utf-8 -*-
'''
created by hch 2019-06-26
'''
from custometest.printlog import printlog
__version__ = '1.0'
class custometest(printlog):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
重启robotframework,导入custometest,导入的库显示为黑色导入成功
F5查看关键字,自定义的Print A展示在关键字列表
那么多个文件要怎么处理呢?
在custometest下面新建一个Python文件:printOther.py,代码如下:
#-*- coding:utf-8 -*-
'''
created by hch 2019-06-26
'''
class printOther():
def printB():
print("hello python")
修改 __init__.py文件:
#-*- coding:utf-8 -*-
'''
created by hch 2019-06-26
'''
from custometest.printlog import printlog
from custometest.printOther import printOther
__version__ = '1.0'
class custometest(printlog,printOther):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
重启robotframework,F5查看关键字: