How can I get a random url for an HTTP request for gatling?

I would like to get a random url for http request for gatling

My script is defined as follows:

import io.gatling.core.Predef._ import io.gatling.http.Predef._ import scala.concurrent.duration._ import scala.util.Random class testSimulation extends Simulation { val httpConf = http.baseURL("OURURL") val scn = scenario("View HomePages") .exec( http("Home page") .get("/" + new Random().nextInt()) .resources( http("genericons.css").get("/wp-content/themes/twentyfifteen/genericons/generi$ http("style.css").get("/wp-content/themes/twentyfifteen/style.css?ver=4.2.3"), http("jquery.js").get("/wp-includes/js/jquery/jquery.js?ver=1.11.2"), http("jquery-migrate.min.js").get("/wp-includes/js/jquery/jquery-migrate.min.j$ http("skip-link-focus-fix.js").get("/wp-content/themes/twentyfifteen/js/skip-l$ http("functions.js").get("/wp-content/themes/twentyfifteen/js/functions.js?ver$ http("wp-emoji-release.min.js").get("/wp-includes/js/wp-emoji-release.min.js?v$ http("wp-emoji-release.min.js").get("/wp-includes/js/wp-emoji-release.min.js?v$ http("skip-link-focus-fix.js").get("/wp-content/themes/twentyfifteen/js/skip-l$ http("functions.js").get("/wp-content/themes/twentyfifteen/js/functions.js?ver$ ) ) setUp( scn.inject ( rampUsersPerSec(1) to(300) during(60 seconds), constantUsersPerSec(300) during(600 seconds) ) .protocols(httpConf) ) } 

I have only one random number generated instead of a single request. Do you know how to solve it? Thanks!

+5
source share
1 answer

You pass in the value, so of course new Random().nextInt receives the call only once when the simulation is built.

You must pass Expression , that is, a function. Only then will it be evaluated every time.

 .get(session => "/" + new Random().nextInt()) 
+2
source

All Articles