python3+requests介面自動化session操作方法
阿新 • • 發佈:2020-09-27
在進行介面自動化測試時,有好多介面都基於登陸介面的響應值來關聯進行操作的,在次之前試了很多方法,都沒有成功,其實很簡單用session來做。
1、在登陸介面建立一個全域性session
# -*- coding: utf-8 -*- import requests '''在登陸模組建立一個全域性session,在其他介面操作時帶入登陸時的session,保持session的一致性''' s = requests.Session()#定義一個全域性session class testlogin(): login_url = "http://api-xxxxxx/api/Account/Login" username = "xxxxx" password = xxxxx def test_login(self): data ={ "UserName" : self.username, "Password" : self.password } r = s.post(self.login_url,data) print(r.cookies) return s
2、在其他介面呼叫登陸的session,用這個session.post()去訪問其他介面
from test_case.loggin import testlogin import unittest '''這裡匯入之前的登陸模組,呼叫登陸模組的session,然後去執行其他介面''' s = testlogin().test_login() class testtransfer(unittest.TestCase): def setUp(self): self.transfer_url = "http://xxxxxxx/Transfer/DoTransferToGame" def test_transfer(self): url = self.transfer_url data ={"Amount":xx, "GamePlatform":"xxxx" } r = s.post(url,data) print(r.text) if __name__ == "__main__": unittest.main()