1. 程式人生 > 實用技巧 >python3+requests介面自動化session操作方法

python3+requests介面自動化session操作方法

在進行介面自動化測試時,有好多介面都基於登陸介面的響應值來關聯進行操作的,在次之前試了很多方法,都沒有成功,其實很簡單用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()