當前位置:成語大全網 - 新華字典 - RF引入自定義庫

RF引入自定義庫

小白壹枚,在此記錄,方便自己回顧。

1、在python安裝目錄下的 Lib\site-packages 目錄下新建壹個目錄,目錄名就是庫名,如我創建的TestLoginLibrary文件夾

2、在新建的TestLoginLibrary目錄下創建壹個python文件,擴展名為py。如:CtLogin.py

3、在新建的TestLoginLibrary目錄下創建 __init__.py 文件,文件名必須固定這樣。該文件的功能,就是把關鍵字類暴露出來,讓rf能知道。註意py文件名與裏面的類名應壹致,貌似大小寫不區分。

其內容如下:

from CtLogin import CtLogin #第壹個CtLogin指剛創建的py文件,第二個CtLogin是py文件中的類名

class TestLoginLibrary(CtLogin):? #這裏的類名與庫文件夾名稱壹致,括號中變量是py文件中的類名

ROBOT_LIBRARY_SCOPE = 'GLOBAL'

4、在rf中引入新建的TestLoginLibrary,不需選擇路徑,直接輸入“TestLoginLibrary”。

5、經過以上,自定義庫的骨架就有了,下面自己在CtLogin.py中寫具體要實現的功能,比如我要實現的是運行登錄接口後獲取cookies,方便其他接口使用。

import requests

import json

class CtLogin:

def __int__(self):

pass

def testLogin(self, userName, userPwd):

url = "/login"

headers = {

"Content-Type": "application/json;charset=UTF-8"

}

data = {

"userName": userName,

"authCode": "",

"userPwd": userPwd

}

res = requests.post(url=url, json=data, headers=headers)

return (res.cookies)

6、現在去rf中使用我定義的關鍵字“testLogin”~

每個測試人員用不同的測試用戶名、密碼,得到返回值,再把它設置為全局變量。

7、我把登錄相關的東西都放在了Resource中,TestCase中引用關鍵字即可。

是不是很easy~

2019-03-05補充:

在壹個library中新建多個關鍵字方法時,只需要在CtLogin.py文件中添加def方法即可。