1. 程式人生 > >效能測試之gatling詳解

效能測試之gatling詳解

大家接觸過形形色色的壓力測試工具,例如lr,jmeter各有各的優點,那麼最近在做介面測試中涉及到壓力測試,小弟就看到一個好用的工具俗稱“加特林”英文Gatling,就簡單研究一番,今天為大家分享一下。

  Gatling是一款基於Scala 開發的高效能伺服器效能測試工具,它主要用於對伺服器進行負載等測試,並分析和測量伺服器的各種效能指標。目前僅支援http協議,可以用來測試web應用程式和RESTful服務

官網:https://gatling.io/

優點:

1.gatling和其他壓力工具相比有個好處是放在同一內網環境下linux伺服器上,這樣避免其他壓力使用辦公機使用共有網路,網路情況對壓力測試的影響。
   2 生成比較詳細的壓力測試報告。
   3 能夠更靈活的編寫壓力指令碼。
   4 可以jenkins集合,將壓力測試整合自動化持續整合中

上面都是乾貨,下面為大家直接實戰,我是通過java+maven+scala搭建的一個環境以及Demo.

1.建立一個Maven專案

2、安裝Scala外掛

3、pom新增核心依賴包

<dependency><groupId>io.gatling</groupId><artifactId>gatling-app</artifactId><version>${gatling.version}</version></dependency><dependency><groupId>io.gatling

</groupId><artifactId>gatling-recorder</artifactId><version>${gatling.version}</version></dependency><dependency><groupId>io.gatling.highcharts</groupId><artifactId>gatling-charts-highcharts</artifactId><version>${gatling.version}</
version></dependency>-----太多我就不一一貼出,有興趣微信公眾號或者qq群聯絡我。

4.下面就是Demo

/**
  * Created by Administrator on 2017/12/10.
  */
import io.gatling.core.Predef._
import io.gatling.http.Predef._
class ABTest extends Simulation {
 
//1.主要實現模擬不同使用者重複100次執行結果object Search {
  
//val feeder = csv("D:\\gatling-2.2.5\\gatling-charts-highcharts-bundle-2.2.5\\user-files\\data\\appdata.csv")
val search =repeat(100) {//重複次數100
      //
讀取csv資料
val feeder = csv("D:\\gatling-2.2.5\\gatling-charts-highcharts-bundle-2.2.5\\user-files\\data\\appdata.csv").random
      feed(feeder)
        .exec(http(
"ABTest")
        .get(
"/abTest?appkey=${appkey}&deviceid=${deviceid}"))
        .pause(
1)
     
//exec()裡的引數就是我們的執行動作,http("本次請求的名稱").get("本次http get請求的地址")
   
}
  }
 
val httpConf = http
   
.baseURL(
"http://10.168.99.209:8080/abapi") ////設定請求的根路徑val users = scenario("Users").exec(Search.search) // 宣告Scenario,指定我們的請求動作setUp(
   
users.inject(atOnceUsers(400)).protocols(httpConf))
   
//atOnceUsers立馬啟動的使用者數,可以理解為併發數}
讀取Excl資料500個使用者
D:\\gatling-2.2.5\\gatling-charts-highcharts-bundle-2.2.5\\user-files\\data\\appdata.csv

5、自動生成的測試報告:

概覽800ms下響應的請求次數10,右邊的餅狀圖顯示成功請求10個,失敗0個。注意在Global頁面裡的圖都是整體的統計(一個測試計劃可包含多個http請求),如果需要看某個請求的情況可點選到Details頁面,並選取對應的請求

大家如果有感興趣的方向文章,可以直接給我留言,我會去寫你們感興趣的文章。

想要了解,獲取更多和測試相關的知識請新增此群,本群提供App、Web等Ui自動化,App效能測試,介面功能,
介面自動化測試,jemeter、loadrunner工具介紹,靜態程式碼掃描實踐;測試理論,
測試流程。測試管理。

如果有問題可以聯絡QQ:2171029637

QQ郵箱:2171029637@qq.com

App自動化及Web自動化全棧測試:群號544126564(想要更多資料立即加入此群)