天天看點

python登入接口測試問題記錄與解決 ( 幹 貨 )

python登入接口測試問題記錄與解決 ( 幹 貨 )

最近做一個登入接口測試中,發現了以下的一些場景,本次将所遇到的問題以及解決過程做下記錄:

1、抓包發現登入操作時,先後請求三個接口,并且每個接口有關聯

2、每次請求都需要保留cookie資訊,下個接口請求需要

3、每個接口傳回資料非json格式,提取資料需要另外操作

本篇文檔就從這三點來開始講

1、首先看抓包情況與大緻架構分析

python登入接口測試問題記錄與解決 ( 幹 貨 )

先後請求3條接口,然後我們一條一條來分析

①整體來看,都是get請求,且共同參數都是service、callback、_,第2條和第3條都還有其他的參數

python登入接口測試問題記錄與解決 ( 幹 貨 )

②第1條接口傳回的資料中data下的兩個字段就是第2個接口的參數

python登入接口測試問題記錄與解決 ( 幹 貨 )
python登入接口測試問題記錄與解決 ( 幹 貨 )

③第2條接口傳回資料中的某個字段是第3條接口的參數

綜合以上就寫大緻的架構

2、然後就是正常的編寫get請求了

python登入接口測試問題記錄與解決 ( 幹 貨 )

這裡的傳回值因為不是json格式,就不用json.loads() 這麼寫了,先列印檢視

python登入接口測試問題記錄與解決 ( 幹 貨 )

3、上面已經說到,這裡的lt和execution 都是下個接口的參數,是以此刻需要将他們的值提取出來

這就涉及到正則提取了

ps:推薦個調試的網站 http://tools.jb51.net/regex/javascript

python正則表達學習位址:https://www.jb51.net/article/177521.htm

python中這裡寫起來也簡單,具體見下面腳本中的備注資訊

4、第2個接口編寫,并将第1個接口傳回的東西帶入

執行過程中發現報302錯誤

302錯誤:redirect,代表暫時性轉移;意思就是你通路網址a,但是因為服務端的攔截器或者其他代碼處理,會被重定向到網址b。

利用requests模拟登入時,直接使用request.get(url),容易造成 302 重定向,究其原因是因為cookie不持久(requests自帶cookie處理,但不持久)

是以這裡 我們就需要将cookie存儲下來并使用起來

具體cookie用法見路徑:https://www.cnblogs.com/liuzhzhao/p/12114453.html

5、知道怎麼使用了,那麼我們代碼修改一下

python登入接口測試問題記錄與解決 ( 幹 貨 )

後面的腳本就照葫蘆畫瓢了,第1個接口的cookie資訊儲存給到第2個接口使用,第2個接口的cookie儲存,給到第3個接口使用

整體上就寫完了,後面需要單獨補充下就好

本次主要知識點:接口依賴調用、cookie儲存與使用、python關鍵資訊正則提取

技術行業,一定要提升技術功底,豐富自動化項目實戰經驗,這對于你未來幾年職業規劃,以及測試技術掌握的深度非常有幫助。

金九銀十面試季,跳槽季,整理面試題已經成了我多年的習慣!下面有我近幾年的收集和整理,整體是圍繞着【軟體測試】來進行整理的,主體内容包含:python自動化測試專屬視訊、Python自動化詳細資料、全套面試題等知識内容。

python登入接口測試問題記錄與解決 ( 幹 貨 )

不要因為拿8k薪資就自卑慚愧,不要應為拿了20多K薪水就沾沾自喜,不要應為拿了30-45看就故步自封。人生不是為了賺那點薪水,你需要的是打開一份事業。

願你我相遇,皆有所獲! 歡迎關注微信公衆号:【傷心的辣條】 免費領取一份216頁軟體測試工程師面試寶典文檔資料。以及相對應的視訊學習教程免費分享!

python登入接口測試問題記錄與解決 ( 幹 貨 )

阿裡二面,原來我對自動化測試的了解太淺了

appium 自動化環境搭建

看完大牛這篇文章,再遇到伺服器反映慢的情況就不怕了