01、前言
不管是在做接口自動化還是在做UI自動化,測試人員遇到的第一個問題都是卡在登錄上。
那是因為在執行登錄的時候,服務端會有一種叫做session的會話機制。
一個很簡單的例子:
在做功能測試的時候,肯定會遇到一種測試場景,需要在沒登錄的時候進行一些普通操作,會提示“請先登錄”
比如:我們在逛TB的時候,如果沒有登錄,那么當你搜索到一個商品,準備下單時候,是不是就會彈出一個登錄框?
其實這就是利用到了session會話機制。
因為HTTP協議是無狀態的,那么在下訂單,加入購物車等場景時,服務器是不知道哪個用戶在操作。
因此,服務器需要為特定用戶創建特定會話,該會話用于識別用戶并跟蹤用戶,以便知道下一個什么商品的訂單,購物車里有些什么商品。
02、requests.session
Python有一個非常強大的接口測試第三方庫 -- requests
很多學習Python的同學們可能都知道requests庫的用法.
但是不知道的是還有另外一種用法:requests.session
session其實是一個會話類,requests的所有請求方法,底層都是調用的這個類的對象。
其他方法和session的區別在于:
直接使用requests調用請求方法發送請求,每次都會創建一個新的session(會話對象),所有沒有之前請求的cookies信息
直接創建一個session對象來發請求,那么每次發請求用的都是這個會話對象,所有能夠保存之前的會話信息(cookies數據)
03、代碼如下
session類:
requests庫:
本文由檸檬班亞萌老師原創,轉載需注明出處!