這篇文章會産生,是因為剛好有一個項目,同時用到了這兩款工具,而正是工具的使用讓我解放了雙手,感受到了什麼是高效、智能化。
故事背景
某個功能子產品的測試資料無法通過界面操作,為了模拟出真實的測試場景,開發人員提供了一個内部的接口文檔,希望通過接口調用複現真實使用環境。
這裡我大概講一下測試流程及順序,首先普及一下什麼是Swagger UI。
Swagger UI
Swagger是一組開源項目,接口的文檔可以線上自動生成,不需要頻繁更新接口文檔,保證接口文檔與代碼的一緻性。
這裡的實時更新是它的一大優點。試想一下,有些公司基本上使用word維護接口文檔,假如出現涉及到接口變更情況,文檔更新不及時。
後面查閱這份文檔的人排除報錯資訊,再加上溝通時間,成本太大。
人都是懶惰的,這種情況的發生很常見,而且我認為80%以上都會發生。
那麼Swagger UI的産生無疑展現了它的優勢。
使用過程
輸入接口,點選try it out。
檢視測試結果,一般顯示200證明調用成功。
驗證過程,檢視頁面對應接口成功後是否出現圖示等資訊,或者檢視資料庫裡内容值發生變化。
思考火星
在使用過程中,發現Swagger UI的不便利之處是網頁打開,很多參數無法儲存。
比如同一個接口可能傳好幾個參數,存在循環測試的情況,這樣我每調用一個新的參數,都需要更改一下,非常不便,于是想到了Postman。
Postman
關于Postman如何使用這裡我就詳細不介紹了。
大緻的過程是來個圖比較清晰,5步走:請求方式->路徑->格式->參數->發送:
思考火星
經過幾輪測試發現兩個問題:
1.同一個接口我可能需要調用好幾次,能不能點選一次就可以?
2.整個流程下來部分功能有順尋可以執行,這樣我是不是可以按流程測試呢?
有了這個想法之後發現這正是JMeter可以解決的麼!
JMeter
總所周知,JMeter最常用的使用場景是測試性能。
那麼,做接口和做性能最主要的差別在于設定并發數的時候我們可以把次數改為1,這樣相當于隻循環了一次。
流程這個問題可以建立幾個接口記錄,通過enable、disnable決定執行的時候執行哪條接口。
配置多個參數
怎樣實作一個接口調用多個參數呢,這裡我們使用調用csv檔案,把參數内容寫到csv檔案内即可。
建立csv資料檔案設定、選擇路徑、填寫調用的參數名,下面兩張圖的參數名稱要保持一緻。
總結
最後,以表格的形式總結下這三個接口測試工具的特點:
人類在曆史悠久的發展史上一共經曆了4次革命,目前我們所處的時代就是第4次革命-智能化。