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,uri1,index.html2,download/file.zip
时间: 2024-10-10 11:58:32

Gatling:开源压力测试框架之入门的相关文章

C++实现服务器压力测试框架

C++实现服务器压力测试框架 flyfish 2015-3-9 模拟大量客户端对服务器进行压力测试框架 头文件 #pragma once #include <boost/asio.hpp> #include <boost/array.hpp> #include <boost/bind.hpp> #include <boost/asio/deadline_timer.hpp> #include <boost/enable_shared_from_this

Apache JMeter开源压力测试/负载测试工具 2.12 官方最新版

软件介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学好Jmeter: 如果你用Jmeter去对Web进行功能测试,或者性能测试. 你必须熟练HTTP协议,才能学好Jmeter. 否则你很难理解Jmeter中得概念. Jmeter运行: 解压后, 运行  “bin/jmeter.bat” Jmeter 是支持中文的, 启动Jmeter 后, 点击 Opti

使用gatling做压力测试与负载测试

转自:https://www.cnblogs.com/yanghj010/p/9575269.html    https://segmentfault.com/search?q=Gatling%E6%95%99%E7%A8%8B%E7%B3%BB%E5%88%97    https://segmentfault.com/a/1190000008254640    https://blog.csdn.net/GEFEICHEN/article/details/82147749    https:/

Android兼容性测试框架(CTS)手册

了解老码农个人隐私,请看这里:http://www.koulianbing.com/?page_id=12 本文翻译自Android官方的CTS手册android-cts-manual-r4.pdf Android兼容性测试框架手册 1.为什么需要兼容性测试(以下称CTS)? 1.1.让APP提供更好的用户体验.用户可以选择更多的适合自己设备的APP.让APP更稳定. 1.2.让开发者设计更高质量的APP. 1.3.通过CTS的设备可以运行Androidmarket. 另外,CTS是免费的,而且

开源Web测试工具介绍

HtmlUnitHtmlUnit 是 JUnit 的扩展测试框架之一.HtmlUnit 将返回文档模拟成 HTML,这样您便可以直接处理这些文档了.HtmlUnit 使用例如 table.form 等标识符将测试文档作为 HTML 来处理.它同样需要遵循 JUnit 测试框架结构的 Java™ 测试程序. MaxQMaxQ是一个Web功能测试工具.它包括一个记录测试脚本的HTTP代理,一个用于重放测试的命令行实用程序.代理记录器自动存储提交到表单的变量,那么你无需用手书写它们. jWebUnit

磁盘io系统压力测试工具fio

FIO概述 fio是一个基于GPLV2授权的开源压力测试工具,主要是用来测试磁盘io性能,也有cpu,nic的io测试功能. 1.安装FIO yum -y install wget yum -y install libaio-devel wget http://brick.kernel.dk/snaps/fio-2.1.tar.gz tar zxvf fio-2.1.tar.gz cd fio-2.1 make make install 2.fio测试命令参数 filename=/dev/sda

【转载】Jmeter接口测试+压力测试

?jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以.jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用. ??jmeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件)

Robot Framework测试框架用例脚本设计方法

Robot Framework介绍 Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储.通过测试库中实现的关键字驱动被测软件.    Robot Framework灵活且易于扩展.它非常适合测试有不同接口的复杂软件:用户接口.命令行,Web服务,专有的编程接口等. Robot Framework是开源软件,通用的测试库源码安装包和文档等可通过http://robotframework.org获取.Robot Fr

转载:JMeter压力测试入门教程[图文]

JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件.Java小服务程序.CGI脚本.Java 对象.数据库, FTP服务器, 等等.JMeter 可以用于对服务器.网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能.另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验