Modularisation de scénarios à exécuter en séquence à l'aide de Gatling

Je suis en train de modularise une série de tests de performance dans Gatling.

Plusieurs tests s'exécutent de la même initiale chemin à travers les pages, j'ai donc pensé que je pouvais le décomposer en une série de scénarios, chaque scénario étant une série d'actions partagées définies dans son propre fichier, puis une dernière Simulation de la définition que simplement exécuté les scénarios spécifiques les uns après les autres.

Ce que je puis avoir besoin est pour ma Simulation pour exécuter les scénarios dans la séquence; mais je ne peux que trouver la façon de les exécuter, soit en même temps, ou avec un certain délai entre chaque. Est-il de la Simulation de l'option de configuration pour exécuter la définition de scénarios, l'un après l'autre, sans spécification d'un arbitraire de retard?

MODIFIER

Actuellement, j'ai le jeu suivant de fichiers:

homepageHeaders.scala

package advanced

object homepageHeaders {

    val homepage_headers_1 = Map(
        "Accept" -> """text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8""",
        "If-Modified-Since" -> """Wed, 20 Mar 2013 15:36:31 +0000""",
        "If-None-Match" -> """"1363793791""""
    )

}

homepageChain.scala

package advanced
import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import com.excilys.ebi.gatling.jdbc.Predef._
import akka.util.duration._
import homepageHeaders._


object homepageChain {

    val homepageChain = 
        //Homepage
        exec(http("homepage")
                    .get("/")
                    .headers(homepageHeaders.homepage_headers_1)
            )

}

pageHeaders.scala

package advanced

object pageHeaders {

    val page_headers_1 = Map(
            "Accept" -> """text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"""
    )

}

pageChain.scala

package advanced
import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import com.excilys.ebi.gatling.jdbc.Predef._
import akka.util.duration._
import pageHeaders._


object pageChain {

    val pageChain = 
        //Page Menu
        exec(http("page request")
                    .get("/page1")
                    .headers(pageHeaders.page_headers_1)
            )

}

pageSimulation.scala

package advanced
import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import com.excilys.ebi.gatling.jdbc.Predef._
import homepageChain._
import pageChain._

class pageSimulation extends Simulation {

    val urlBase = "http://www.mytestsite.com"

    val httpConf = httpConfig
            .baseURL(urlBase)
            .acceptHeader("image/png,image/*;q=0.8,*/*;q=0.5")
            .acceptEncodingHeader("gzip, deflate")
            .acceptLanguageHeader("en-gb,en;q=0.5")
            .userAgentHeader("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0")

    val pageScenario = scenario("Bodycare Scenario")
        .exec(homepageChain.homepageChain)
        .exec(pageChain.pageChain)


    setUp(
            homepageScenario.users(1).protocolConfig(httpConf)
        )
}

L'erreur que j'obtiens est:

14:40:50.800 [ERROR] c.e.e.g.a.ZincCompiler$ - /Gatling/user-files/simulations/advanced/pageChain.scala:13: not found: value exec
14:40:50.807 [ERROR] c.e.e.g.a.ZincCompiler$ -          exec(http("page request")
14:40:50.808 [ERROR] c.e.e.g.a.ZincCompiler$ -          ^
14:40:53.988 [ERROR] c.e.e.g.a.ZincCompiler$ - /Gatling/user-files/simulations/advanced/homepageChain.scala:13: not found: value exec
14:40:53.989 [ERROR] c.e.e.g.a.ZincCompiler$ -          exec(http("homepage")
14:40:53.989 [ERROR] c.e.e.g.a.ZincCompiler$ -          ^
14:41:17.274 [ERROR] c.e.e.g.a.ZincCompiler$ - two errors found
Exception in thread "main" Compilation failed

Est clair que je suis absent quelque chose dans ma définition, mais je ne comprends juste pas ce que c'est

source d'informationauteur Mark Baker | 2013-03-22