Gatling的进阶二

Posted 梦想空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gatling的进阶二相关的知识,希望对你有一定的参考价值。

1. 参数化

 
 
Gatling可以很方便使用csv文件进行参数化,例如一个用户信息表:
 
/* user_information.csv */
username,password,account_id
user1,password1,4
user2,password2,7
...
user10,password10,34
 
那么在gatling中就这样调用参数文件:
 
/* Scenario */
.feed(csv("user_information.csv")) 
/×获取csv文件,该文件在固定的data文件夹下×/
 
.exec(
  http("request_3")
    .post("/login")
    .param("username", "${username}") //参数化的用户名
    .param("password", "${password}") //参数化的密码
    .headers(headers_3)
    .check(status.is(302))
)
...
.exec(
  http("request_5")
 .get("/private/bank/account/ACC${account_id}/operations.html")//参数化的用户id
 .headers(headers_5)
)
 
2. 重复执行
 
很多性能测试需要不断重复的执行同一个场景,那么loop就很必要。Gatling提供两种循环的方法:
 
第一种:repeat指定的次数
repeat(10) { // 重复执行10次
    exec( http(...) ... )
    .pause(...)
}
 
第二种:在指定的时间内重复执行直到时间结束
.during(20 seconds) { // 在20秒内不断的执行
    exec( http(...) ... )
    .pause(...)
}
 

以上是关于Gatling的进阶二的主要内容,如果未能解决你的问题,请参考以下文章

技巧分享-12周-Jmeter和Gatling体验结果

性能工具之 Gatling 开发环境搭建

性能工具之 Gatling 快速入门

性能测试-Gatling

当摘要认证开启时,Gatling 测试失败

Dubbo 压测插件的实现——基于 Gatling