使用Gatling進行性能測試(二)recorder詳解&使用recorder錄製第一個測試腳本

引言

本節主要講述Gatling recorder(錄製器)兩種錄製模式,以及如何錄製腳本供之後使用。

Recorder概述

運行recorder.scala這個類,會啓動recorder的UI界面,以前用過其他性能測試工具的人可能知道recorder的用處,但第一次學性能測試工具的小夥伴可能就不太知道了(比如我)。顧名思義,recorder就是用來錄製的,錄製什麼呢?錄製性能測試腳本,性能測試場景就是模擬用戶場景使用被測系統,全面的性能測試不只是測單接口,而是多個用戶場景,涉及多個接口請求。其實也可以自己純手工編寫腳本,但工具自身的recorder可以在你操作系統的時候錄製,然後轉換成工具所需的腳本,然後你再根據腳本優化即可。
Gatling recorder的UI分成5個部分,如下圖所示:在這裏插入圖片描述

  1. Recorder Mode
    分爲兩種模式,一種是HTTP代理,一種是HAR Converter,下面會詳細介紹這兩種模式的工作方式。
  2. NetWork/Http Archive Import
    途中的第2部分,根據Recorder Mode不同有所不同,是對不同Recorder Mode的配置信息。
  3. Simulation Information
    就是對即將生成的腳本的一些配置。
    (1)package:生成腳本所在的包
    (2)Class name:生成腳本的類名
    (3)Follow redirect:是否跟隨網頁重定向
    (4)Infer HTML resource:獲取在白名單(filters部分)中的html resource
    (5)Automatic refers:是否自動計算http header裏面的refer字段
    (6)Remove cache headers:是否去掉請求header裏的緩存
    (7)Use class name as request prefix:是否將類名作爲請求名的前綴
    (8)Save&check response bodies:是否對存儲返回體的body並做校驗
  4. Output
    錄製的腳本存儲的地方以及編碼格式。
  5. Filters
    有兩種策略,白名單策略(只獲取白名單中指定的資源),黑名單策略(除了黑名單中指定的資源不獲取以外,其餘全部獲取)。黑白名單匹配均使用正則表達是,比如,不詳獲取任何css文件:.*\\.css。可以直接點擊右下角的No static resources,排除所有的靜態資源。

HTTP代理模式

工作方式

HTTP代理模式工作的方式就是gatling recorder作爲中間人進行request和response,如下圖所示:
在這裏插入圖片描述
由圖可見,代理模式其實存在安全隱患,它的監聽行爲如果沒得到認可是會被拒絕的。https模式有三種,self-signed certificate,provided keystore,certificate authority。這裏只演示在self-signed certificate下使用fireFox錄製腳本,其他的就不一一探究了,畢竟這不是一種優選的錄製模式。

使用http代理模式錄製腳本

  1. recorder配置,如下圖:
    在這裏插入圖片描述
  2. 瀏覽器配置,fireFox打開代理設置,如下圖:
    在這裏插入圖片描述
  3. recorder點擊start。
  4. fireFox訪問百度網址,會提示存在安全隱患,點擊Advanced–>Accept the Risk and Continue,然後進行一些搜索的操作。
    在這裏插入圖片描述
  5. 看recorder裏面已經顯示了訪問記錄了,然後點擊Stop&Save。
    在這裏插入圖片描述
  6. 打開項目,在Scala目錄下已經存在剛剛錄製的腳本了,也就說明我們完成了一次錄製。
    在這裏插入圖片描述

HAR Converter模式

HAR File簡介

上面講到HTTP代理模式存在安全隱患,會存在瀏覽器不支持的情況,所以不建議使用。使用HAR文件轉換就不存在這個問題了。
什麼是HAR文件呢?維基百科解釋:The HTTP Archive format, or HAR, is a JSON-formatted archive file format for logging of a web browser’s interaction with a site。簡單理解就是記錄瀏覽器請求的日誌的文件。
怎麼獲取HAR文件呢?一是可以通過Chrome的開發者工具獲取,二可以通過一些軟件獲取,比如fiddler、Charles proxy等。這裏我們使用Chrome來獲取。

使用HAR Converter模式錄製腳本

Gatling提供了一個測試網站:http://computer-database.gatling.io,之後的章節也會基於該網站進行測試,故這裏使用它來錄製腳本。

  1. 訪問網站,打開開發者工具(更多工具–>開發者工具/F12),清除已有request信息,勾選Preserve log(保留錄製期間的所有log信息)
    在這裏插入圖片描述
  2. 網頁操作:刷新–>Add a new computer–>填寫相關信息–>Create this computer–>搜索添加的電腦–>點擊名字查看詳情–>cancel
  3. 點擊停止記錄日誌後,將日誌存爲HAR文件。
    在這裏插入圖片描述
  4. 配置recorder,如下圖;
    在這裏插入圖片描述
  5. 點擊start,轉換成功後可在項目路徑看到scala腳本了。

我錄製的腳本放在附件了,之後的章節會基於該腳本進行,可下載後直接使用:AddNewComputer.scala

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章