您现在的位置:首页 > >

【译文】Gatling快速开始

发布时间:

快速开始
介绍

在这一章节我们将使用Gatling对简单web域名服务器做性能测试和给你介绍基础的DSL语法。


安装

请移步到安装章节挑选你需要的安装方式,建议非开发者从bundle开始安装。


关于文本编码

Gatling默认采用UTF-8编码,如果你想用另一个,你可以做:


    使用录制器时选择正确的编码在gatling.conf文件中配置正确的编码,它将用于编译脚本,构建请求和响应确保文本编码正确配置为匹配

关于文本Scala

使用Scala编写Gatling场景脚本,但不要恐慌,你可以在不太了解Scala的情况下使用Gatling里面的所有基本函数,在大多数脚本中,DSL将满足你的需求,并且你可以构建你的场景。
如果你对scala感兴趣的话,我们推荐你去看twitter教程



备注
如果你已经阅读过本文章,也可以轻松的加入我们的谷歌讨论组一起讨论寻求帮助。



测试用例

本章节将指导你完成大部分的HTTP特性。你将学*模拟,场景,填充,录制,循环等。


测试中的应用程序

在本教程中,我们将使用一个命名为Computer-Database的应用程序部署在URL:http://computer-database.gatling.io。
此应用程序是用于管理电脑模型的简单CRUD应用程序,并且是2.3版本之前的playframework的一个示例。


场景

测试此应用程序的性能,我们将创建一些场景描述用户流浪真实发生的事情
下面是我们认为一个真实用户将如何操作这个应用程序


一个用户到达应用程序用户搜索‘macbook’用户打开一个相关的模型用户返回主页用户遍历页面用户创建一个新模型
基础
使用录制器

为了简化场景的创建,我们将使用录制器,这是Gatling提供的一个工具,它允许您在web应用上的记录操作,并将其导出为Gatling场景。
在本地bin脚本目录中启动此程序。


在Unix/Linux:

$GATLING_HOME/bin/recorder.sh

在Windows:

%GATLING_HOME%in ecorder.bat

一旦启动后,下面的GUI将允许您配置如何记录请求和响应。
使用以下选项设置


computerdatabase 包基本模拟名称跟随重定向选项自动跳转选项已选黑名单优先过滤策略黑名单中有*.css *.js *.ico
配置完录制器之后,您只需要启动它并将您浏览器配置使用Gatling录制代理。

备注
关于更多录制和浏览器代理信息,请点击录制参考页面



录制场景

现在简单浏览应用


    定位搜索标记访问网站:http://computer-database.gatling.io搜索macbook命名的模型选择macbook pro定位浏览器标记返回主页面在模型页面重复多次点击Next按钮定位编辑标记点击添加新计算机填充表格点击创建此计算机

尝试描述真实用户行为,不要一个页面马上跳转到另外一个界面,没有思考时间。这将是你的用户场景更接*用户真实场景。
当你完成了这个场景,点击录*缑嫔系耐V拱磁ァ
模拟将生成到Gatling安装文件夹user-files/simulations/computerdatabase中以BasicSimulation.scala名称命名。


Gatling场景说明

这里是生成的产出


package computerdatabase // 1

import io.gatling.core.Predef._ // 2
import io.gatling.http.Predef._
import scala.concurrent.duration._

class BasicSimulation extends Simulation { // 3

val httpProtocol = http // 4
.baseUrl("http://computer-database.gatling.io") // 5
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // 6
.doNotTrackHeader("1")
.acceptLanguageHeader("en-US,en;q=0.5")
.acceptEncodingHeader("gzip, deflate")
.userAgentHeader("Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0")

val scn = scenario("BasicSimulation") // 7
.exec(http("request_1") // 8
.get("/")) // 9
.pause(5) // 10

setUp( // 11
scn.inject(atOnceUsers(1)) // 12
).protocols(httpProtocol) // 13
}

这是什么意思?


    可选择的包需要引入的类定义,注意它继承Simulationhttp请求全局配置基础地址将被预先写到所有相对地址上将与所有请求一起发送的公共请求头场景定义一个命名为request_1的http请求,这个名字将被显示到最终报告上这个url请求目标为GET方法一些暂停/思考时间其中一个设置将在此模拟中启动的场景声明向名为scn的方案注入一个用户附加上面声明的http配置

运行Gatling

启动本地bin目录下的第二个脚本:


Linux/Unix

$GATLING_HOME/bin/gatling.sh

Windows

%GATLING_HOME%ingatling.bat

你稍后看见一个场景示例菜单


Choose a simulation number:
[0] computerdatabase.BasicSimulation

当场景执行完成,控*允綡TML报告链接


热文推荐
猜你喜欢
友情链接: 医学资料大全 农林牧渔 幼儿教育心得 小学教育 中学 高中 职业教育 成人教育 大学资料 求职职场 职场文档 总结汇报