传递参数 - 用户数量

时间:2013-07-18 07:35:08

标签: scala gatling

我在linux终端中使用gatling。当我传递github中描述的参数时,我收到错误:

 value users is not a member of Integer

这是我的代码:

package mypackage

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.jdbc.Predef._
import io.gatling.http.Headers.Names._
import scala.concurrent.duration._
import bootstrap._
import assertions._
import util.Random

class MySimulation extends Simulation {

    val usersCount = Integer.getInteger("users", 1)
    val links = csv("links.csv").random

    val httpProtocol = http
        .baseURL("http://mywebsite.com:8080/")
        .acceptCharsetHeader("ISO-8859-1,utf-8;q=0.7,*;q=0.7")
        .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
        .acceptEncodingHeader("gzip, deflate")
        .acceptLanguageHeader("fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3")
        .disableFollowRedirect

    val headers_1 = Map(
        "Keep-Alive" -> "115")
        val headers_3 = Map(
                "Keep-Alive" -> "115",
                "Content-Type" -> "application/x-www-form-urlencoded")

        val scn = scenario("big project benchmark")
        .repeat(50) {
            feed(links)
            .exec(
                    http("request_1")
                            .get("${pageUri}")
                            .headers(headers_1)).pause(1000 millisecond)
        }

    setUp(scn.inject(ramp(usersCount users) over (30 seconds)))
        .protocols(httpProtocol)
        .assertions(global.successfulRequests.percent.is(100), details("request_1").responseTime.max.lessThan(1000))

我在终端开始使用:

JAVA_OPTS="-Dusers=300" ./gatling.sh -s mypackage.mySimulation -on testing -sd test1

请耐心等待,因为我对scala和gatling完全不熟悉。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

问题来自setUp的usersCount users部分。

在Scala中,这被解释为usersCount.users,在我们的情况下不存在,因为Integer没有用户方法。

我认为(但我不确定,因为我现在无法对其进行测试),您应该将usersCount设为Int,如此:val usersCount: Int = Integer.getInteger("users", 1).toInt

希望这有帮助!

PS:您应将Integer转换为Int的原因是隐式转换。这是Scala的一个非常强大的功能。

PPS:维基文档对Gatling 1.X有效,它将根据Gatling 2.X进行相应更新