2016-11-18 50 views
1

我的情况就像,我必须为创建一个脚本,它随机抽取10个用户进行登录和注销我写的代码登录了同一个用户10次,它不需要随机数。如何做到这一点?如何随用随机用户登录gatling?

以下是我的代码输出相同的用户登录10次,而不是采取不同的用户。

// Login and Logout random users 
import scala.concurrent.duration._ 
import java.util.concurrent.ThreadLocalRandom 
import io.gatling.core.Predef._ 
import io.gatling.http.Predef._ 
import io.gatling.jdbc.Predef._ 

class random extends Simulation { 

val testServerUrl = System.getProperty("Url", "https://url") 
val username = System.getProperty("username", "TestUser") 
val password = System.getProperty("password", "password") 
val userCount = Integer.getInteger("userCount", 10).toInt 
val startNum = Integer.getInteger("EndNumber", 1).toInt 
val endNum = Integer.getInteger("EndNumber", 100).toInt 

val httpProtocol = http 
.baseURL(testServerUrl) 

val scn = scenario("random") 
.exec(http("Login") 
.post("/security_check") 
.headers(headers_9) 
.formParam("j_username", username + ThreadLocalRandom.current.nextInt(startNum, endNum)) 
.formParam("j_password", password) 
.resources(
http("Fetch_IDs") 
.get("/desktop/s_nav.jsp") 
.check(regex("""current_account_id=(\d+)""").saveAs("accountID")) 
.check(regex("""current_workspace_id=(\d+)""").saveAs("workspaceID")) 
.headers(headers_5) 
)) 

.exec(http("Logout") 
.post("/logoutcontroller") 
.headers(headers_9) 
.formParam("action", "logout") 
.formParam("undefined", "") 
.formParam("current_account_id", "${accountID}") 
.formParam("current_workspace_id", "${workspaceID}")) 

setUp(scn.inject(atOnceUsers(userCount))).protocols(httpProtocol) 
} 

回答

3
.formParam("j_username", session => username + ThreadLocalRandom.current.nextInt(endNum))