學習接口自動化測試架構或工具,UI自動化測試架構或工具,有時會覺得知識似乎比較零散,死記硬背不是一個好方法。一個學習的思路是思考使用這些架構或工具的時候,可能會遇到什麼問題,遇到這些問題可以通過什麼方法來解決。
項目中沒有完整的接口文檔,甚至沒有接口文檔
使用jmeter錄制功能
使用fiddler抓包
請求開發協助
需要在多個環境進行測試
使用配置原件http請求預設值
統一管理
快速切換測試環境
需要調試腳本
使用監聽器元件檢視結果樹
可以分析檢視某個請求的詳情
請求頭
請求體
響應頭
響應體
可以分析錯誤的原因
僅檢視錯誤日志
使用Debug Sampler
如使用正規表達式提取字段時,我們需要檢查提取的字段是否正确。
可以輸出Jmeter的變量、屬性甚至是系統屬性而不用發送真實的請求到伺服器。
使用HTTP Mirror Server
它可以在本地臨時搭建一個HTTP伺服器,該伺服器把接收到的請求原樣傳回,這樣就可以看到發送出的請求的具體内容,以供調試。
需要對請求封包加密後再進行發送
使用前置處理器
一般的加密算法
自定義的加密算法,需要開發給jar包
需要進行參數化
檔案參數化
函數參數化
變量參數化
需要進行分布式壓測
一台機器不能産生所需要的壓力,這是需要引入分布式壓測
需要嚴格的并發
引入同步定時器,類似LR集合點概念
需要進行關聯操作
正規表達式提取式
json提取
需要測試dubbo接口
引入dubbo插件
需要分析性能瓶頸
引入監控平台
普羅米修斯
需要跨線程組應用變量
需要生成較美觀的測試報告
jmeter自帶的測試報告
需要內建到CI/CD
Jenkins+Jmeter持續內建
需要模拟使用者行為
固定定時器
jmeter發送請求之間是沒有停留的,模拟使用者習慣
需要進行斷言
Response Assertion(響應斷言)
對Web請求的響應結果進行驗證
Size Assertion(資料包位元組大小斷言)
判斷響應結果是否包含正确數量的byte。可定義(=, !=, >, <, >=, <=)
Duration Assertion(持續時間斷言)
判斷是否在給定的時間内傳回響應結果
beanshell 斷言(自由斷言)
需要設定場景邏輯
引入邏輯控制器
需要自動管理cookie
引入http cookie管理器