python介面用例
阿新 • • 發佈:2021-10-21
安裝執行環境
執行環境:python
編輯器:pycharm
安裝模組:requests
新建專案
pycharm中新建一個專案:case_2(注意命名不要和功能模組重複,不然會再呼叫的時候出錯 如:requests 、 re 、 random)
新建專案分別新增Packpage包
interface包(介面)
case包(用例)
介面測試
在interface中新建一個python檔案注意檔案命名(注意命名)
程式碼如下:
import requests # 新增requests模組功能 def login(s,host,user,pwd): # 定義函式 url_login = host + '/recruit.students/login/in' # 登入的url地址 par = { # 登入的傳參 "account":user, "pwd":pwd } r = s.get(url=url_login,params=par) # 傳送get請求 return r
def函式是不直接執行的,再寫一個main函式呼叫
if __name__ == "__main__": # 函式入口 s = requests.session() # cookie快取 保持登入態 host = 'http://192.168.1.40:8080' # url的host地址 r_login = login(s, host,"admin","660B8D2D5359FF6F94F8D3345698F88C") # 傳入函式所需的引數 if "退出" in r_login.text: # 判斷返回的是響應程式碼 可以通過資料轉換成text 檢視內容 in判斷是否登入成功 print("登入成功") else: print("登入失敗")
介面封裝
介面一定要測試好後面儘量少的做修改
寫完後我們將介面封裝
封裝的目的是為了讓程式碼介面更加簡便 減少載入不必要的程式碼
在case目錄下新建school_login.py檔案
from case.education_case import login # 載入封裝好的檔案的函式 import requests if __name__ == "__main__": # 函式入口 s = requests.session() # cookie快取 保持登入態 host = 'http://192.168.1.40:8080' # url的host地址 r_login = login(s, host,"admin","660B8D2D5359FF6F94F8D3345698F88C") # 傳入函式所需的引數 if "退出" in r_login.text: # 判斷返回的是響應程式碼 可以通過資料轉換成text 檢視內容 in判斷是否登入成功 print("登入成功") else: print("登入失敗")
測試用例
測試的用例書寫
想測試好的case下的檔案修改成
from case.education_case import login # 載入封裝好的檔案的函式
import requests
class login_test():
def __init__(self,s=requests.session(),host='http://192.168.184.131:8080'):
self.s=s
self.host=host
def login_success(self):
r_login = login(self.s,self.host,"admin","660B8D2D5359FF6F94F8D3345698F88C")
return r_login
def login_pwd_error(self):
r_login = login(self.s,self.host,"admin","660B8D2D5359FF6F94F8D3345698F88C1")
print(r_login.text)
return r_login
def login_pwd_null(self):
r_login = login(self.s,self.host,"admin","")
print(r_login.text)
return r_login
def login_uer_null(self):
r_login = login(self.s,self.host,"","660B8D2D5359FF6F94F8D3345698F88C")
print(r_login.text)
return r_login
def login_usr_error(self):
r_login = login(self.s,self.host,"abc","660B8D2D5359FF6F94F8D3345698F88C")
print(r_login.text)
return r_login