【robotframework之八】自定義庫

一、前言

      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查看關鍵字:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章