
最近做一個登入接口測試中,發現了以下的一些場景,本次将所遇到的問題以及解決過程做下記錄:
1、抓包發現登入操作時,先後請求三個接口,并且每個接口有關聯
2、每次請求都需要保留cookie資訊,下個接口請求需要
3、每個接口傳回資料非json格式,提取資料需要另外操作
本篇文檔就從這三點來開始講
1、首先看抓包情況與大緻架構分析
先後請求3條接口,然後我們一條一條來分析
①整體來看,都是get請求,且共同參數都是service、callback、_,第2條和第3條都還有其他的參數
②第1條接口傳回的資料中data下的兩個字段就是第2個接口的參數
③第2條接口傳回資料中的某個字段是第3條接口的參數
綜合以上就寫大緻的架構
2、然後就是正常的編寫get請求了
這裡的傳回值因為不是json格式,就不用json.loads() 這麼寫了,先列印檢視
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、知道怎麼使用了,那麼我們代碼修改一下
後面的腳本就照葫蘆畫瓢了,第1個接口的cookie資訊儲存給到第2個接口使用,第2個接口的cookie儲存,給到第3個接口使用
整體上就寫完了,後面需要單獨補充下就好
本次主要知識點:接口依賴調用、cookie儲存與使用、python關鍵資訊正則提取
技術行業,一定要提升技術功底,豐富自動化項目實戰經驗,這對于你未來幾年職業規劃,以及測試技術掌握的深度非常有幫助。
金九銀十面試季,跳槽季,整理面試題已經成了我多年的習慣!下面有我近幾年的收集和整理,整體是圍繞着【軟體測試】來進行整理的,主體内容包含:python自動化測試專屬視訊、Python自動化詳細資料、全套面試題等知識内容。
不要因為拿8k薪資就自卑慚愧,不要應為拿了20多K薪水就沾沾自喜,不要應為拿了30-45看就故步自封。人生不是為了賺那點薪水,你需要的是打開一份事業。
願你我相遇,皆有所獲! 歡迎關注微信公衆号:【傷心的辣條】 免費領取一份216頁軟體測試工程師面試寶典文檔資料。以及相對應的視訊學習教程免費分享!
阿裡二面,原來我對自動化測試的了解太淺了
appium 自動化環境搭建
看完大牛這篇文章,再遇到伺服器反映慢的情況就不怕了