A. 介面自動化測試面試題大全(合適各級軟體測試人員),建議收藏
這篇文章由白楠楠整理,內容豐富實用,對測試人員頗具參考價值。本文僅為分享。
由於篇幅原因,未在文中詳述的python自動化測試面試問題,已整理成文檔,可在作者的公眾號獲取,搜索關鍵字「【Python自動化測試面試題,暗號知乎】」獲取更多信息。
HTTP協議規定了客戶端與伺服器的交互方式。get在url中附參數,post則通過請求體發送,get通常用於獲取資源,而post發送數據。
get和post在數據傳輸和響應機制上有所不同,get請求可能產生額外的tcp數據包,安全性上post優於get,避免參數暴露。
302代表臨時重定向,403表示許可權不足,503表明服務不可用,500則表示伺服器內部錯誤。狀態碼根據不同范圍,反映了請求的不同狀態和處理結果。
通過斷言對比預期與實際結果,資料庫校驗也是一項重要手段,對比測試前後數據狀態。
post請求支持多種參數格式,包括url編碼、文件上傳、json數據和xml等。
從需求分析到測試執行,涉及用例設計、腳本編寫、結果分析等步驟。
Postman、JMeter和SoapUI是常用的介面測試工具。
包括查詢字元串參數和請求體參數,根據介面需求選擇合適的參數傳遞方式。
通過解析上一介面的響應數據,存儲並傳遞到下一介面,實現數據鏈路的連續性。
涵蓋必填項、合法性、邊界值、容錯、響應數據和邏輯校驗,以及性能和安全性的測試考慮。
測試需確保每次請求都帶有有效的Session或Cookie信息,模擬登錄狀態。
通過MOCK工具模擬第三方數據,降低對外部介面的依賴,便於獨立測試。
B. 用Python模擬人工操作發送http請求
使用Python的Requests庫進行HTTP請求操作,是編寫爬蟲程序的重要步驟。下面將詳細介紹利用該庫進行模擬人工操作發送HTTP請求的具體步驟。
首先,需要確保安裝了Requests庫。安裝方式為在命令行輸入`pip install requests`。
發送get請求獲取網頁內容,只需使用`requests.get(url)`方法。例如,獲取網路首頁內容的代碼如下:
python
import requests
url = 'https://www..com'
res = requests.get(url)
print(res.text)
發送post請求模擬登錄,同樣使用`requests.post(url, data=data)`。同時,為避免被伺服器識別為爬蟲,應添加headers頭部信息。以下為模擬登錄並獲取信息的代碼示例:
python
import requests
url = 'https://www.example.com/login'
data = {'username': 'your_username', 'password': 'your_password'}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
res = requests.post(url, data=data, headers=headers)
if res.status_code == 200:
print(res.text)
else:
print('登錄失敗')
headers頭部信息的設置對於防止被伺服器識別為爬蟲至關重要。常見的headers包括User-Agent、Referer、Accept、Cookie等。它們能幫助我們模擬真實的瀏覽器行為,降低被封IP的風險。
User-Agent信息用於模擬瀏覽器類型,通常根據瀏覽器類型設置相應的值。Referer信息用於指示請求的來源,Accept則用於指定客戶端能接受的資源類型。Cookie信息用於保持與網站的會話狀態。
在實際應用中,要根據網站的具體要求進行headers的配置。如果沒有特殊要求,通常使用瀏覽器的請求信息作為參考。同時,避免頻繁請求同一目標,以降低被封IP的風險。合理使用Requests庫,能有效提升爬蟲程序的穩定性和效率。