《Web介面開發與自動化測試(基於Python語言)》讀書筆記(一)

xh15發表於2017-04-17

之前看了蟲師的《Selenium2自動化測試》,覺得簡單易懂,適合入門,所以很快入手了剛上架的本書,然而,翻看了下目錄,發現和我的期望不是太相符(價格有點虛高了),不過這裡還是做下簡單的記錄。
書中關於Django開發的部分,我直接跳過了,暫時沒有需求,直接瀏覽了關於介面測試的部分內容。

介面測試部分

  • 介面測試工具
    • Postman(Chrome外掛):模擬和傳送HTTP請求,顯示返回介面資料,主要用於網頁除錯與傳送網頁HTTP請求(GET、POST)。
    • JMeter:基於Java的壓力測試工具。也可以用來做介面測試
      • 建立測試任務:新增執行緒組-新增HTTP請求-新增檢視結果樹
      • 新增斷言
    • Robot Framwork:是一個通用型的驗收測試的自動化測試框架
      • 基於Python語言開發
      • 可以像程式設計一樣編寫測試用例
      • 支援開發系統關鍵字
      • 介面測試庫:RequestsLibrary(robotframework-requests),其執行基於Requests
      • 在Sublime Text3下使用需要安裝外掛Sublime assistant
      • 關鍵字:Create Dictionary、Create Session、Get Requests、Get From Dictionary、Should Be Equal、Set Variable、Post Request等
      • 變數型別一般都用${},列表型別(可以傳遞多個值)的用@{}
      • POST請求一般要建立header標頭,指定內容型別為application/x-www-form-urlencoded
  • 效能測試
    • 常見的有:LoadRunner、JMeter,這兩者採用執行緒和程式,很難再單機上模擬出較高的併發壓力。
    • Locust:基於Python語言,HTTP請求基於Requests庫,採用協程(getevent)機制,即微執行緒Coroutine,所有的協程在一個執行緒內執行,不需要執行緒切換耗費資源,可以大幅度提高單機併發能力。
    • @task{權重值}裝飾方法為一個事務
    • 可以啟動Locust網路監控器,預設埠號位8089
    • 可以自定義模擬使用者數和每秒啟動的虛擬使用者數
    • 執行效能測試之後,可以看到對CPU、記憶體、網路情況的使用情況,從而分析出效能瓶頸,進行優化

未完待續,後面再補~

相關文章