Gatling:开源压力测试框架之入门

Gatling是一款开源的压力测试工具,基于Scala, Akka and Netty。

  • 可录制测试脚本,也可以手动编写脚本,适合有编程经验的测试人员使用;
  • 支持测试用例的参数化,可以使用csv、json、jdbc、redis等多样的数据源;
  • 能够模拟各种并发场景;
  • 能够生成比较详细的测试报表。

示例脚本:

import scala.concurrent.duration._

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.jdbc.Predef._

class RecordedSimulation extends Simulation {

    val httpProtocol = http
        .baseURL("http://192.168.1.117/")
        .acceptHeader("""*/*""")
        .acceptEncodingHeader("""gzip, deflate""")
        .acceptLanguageHeader("""zh-CN""")
        .userAgentHeader("""Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)""")

    val headers_2 = Map("""Accept""" -> """text/html, application/xhtml+xml, */*""")

    val scn = scenario("RecordedSimulation")        
        .repeat(1){
        //.forever{
            feed(csv("large_files.csv").circular)
            .exec(http("request_"+"${id}")
                .get("${uri}")
                .headers(headers_2)
                //.check(status.is(200)))
                .check(status.in(200 to 399)))
            .pause(1)
        }

    setUp(
        scn.inject(atOnceUsers(1000))
    )
    .protocols(httpProtocol)
}

 

large_files.csv默认放在user-files/data/下面
文件内容:
id,uri
1,index.html
2,download/file.zip

转载于:https://www.cnblogs.com/rd-log/p/4103746.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值