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方法即可。