一、介绍

基于Scala 开发的开源免费性能压测工具。主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等。

特点:

  • 高性能,支持Akka Actors 和 Async IO

  • 报表帅气,支持实时生成Html动态轻量报表

  • 支持DSL脚本,从而使测试脚本更易开发与维护

  • 支持录制并生成测试脚本,从而可以方便的生成测试脚本

注:Gatling的测试全都是基于scala脚本的

先简单了解下它的脚本和报表
脚本

class MySimulation extends Simulation {
  val conf = http.baseUrl("http://localhost")
  val scn = scenario("Gatling")
      .exec(http("index").get("/"))
      .during(10 minutes) {
    exec(
      http("json").get("/json")
        .check(jsonPath("$.id")
        .saveAs("id"))
    )
  }
  setUp(scn.inject(atOnceUsers(5)))
        .protocols(conf)

报表

clipboard.png

clipboard.png

clipboard.png

clipboard.png

等.....

二、文件目录介绍

-Gatling_Home

---- bin 执行程序

---- conf 配置信息

---- lib

---- results 测试报告

---- target

---- user-files 用户文件

---- ---- bodies

---- ---- data 数据目录,csv参数文件存放在这里

---- ---- simulations 测试脚本(所有的脚本都在这里)

三、How to run it?

进入bin目录可以看到下面两个文件(.bat属于windows下面的可执行脚本)

gatling.sh 启动入口
依次输入以下三个参数

  • 执行的脚本序号

  • 本次测试Id,用作测试报告命名前缀,不能包含空格,特殊字符,中文等

  • 本次测试描述(非必须),会显示在报告头部

record.sh
UI操作,它主要用于将浏览器配置代理后记录用户操作然后生成测试脚本,更多的用于用户行为模拟测试,个人用的不多,如果有兴趣可以参阅官方文档

http://gatling.io/docs/2.2.0/quickstart.html#using-the-recorder

四、Do it!

首先肯定是要下载它

http://gatling.io/#/download

如果还是不会下载的话直接点该路径

https://oss.sonatype.org/content/repositories/snapshots/io/gatling/highcharts/gatling-charts-highcharts-bundle/2.3.0-SNAPSHOT/

如果还是不能下,那我就.........

解压并进入到bin目录下运行sh gatling.sh(linux环境下)

clipboard.png
上面列出的就是官方自带的测试脚本样例,我们试着跑下。
依次输入0、 my_first_gatling、 首次运行gatling。

clipboard.png
显示上面的信息表示测试程序已经运行完成,最后一行显示的是本次的测试报告,可以打开瞅瞅,风骚的报告自己体会吧,首次介绍就先到这里了。


青芒
205 声望60 粉丝

java骚年


引用和评论

0 条评论