一、前言
robotframework雖然提供了很多的關鍵字,但是在實際使用的時候,我們總會感覺有的關鍵字不符合自己的需求,或者我需要實現某一個功能,但是robotframework沒有提供實現該功能的關鍵字,這個時候,我們就需要自己來定義關鍵字了,直接上例子。
二、直接導入Python文件
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查看關鍵字: