gatling - 在测试期间提取cookie值字符串

时间:2014-03-07 23:18:47

标签: scala gatling

我的测试运行正常,但现在我需要同时运行多个会话。我尝试使用headerRegex("Set-Cookie", "HOME_SESSID=(.*)").saveAs("homeSessid")获取Cookie值,但当我打印出来时,返回的值为com.excilys.ebi.gatling.http.check.HttpMultipleCheckBuilder@6075598

我不知道这是从哪里来的。我的问题是:发生了什么事?

感谢。

编辑:忘了提到它返回的值不是会话ID,无论我使用什么cookie名称,我都得到相同的值。

编辑(解决方案):

1)在第一个.exec:.check( headerRegex("Set-Cookie", """HOME_SESSID=(.*dll/(\d+))""").saveAs("homeSessid") )

2)然后在我之后的http请求中检索homeSessid,例如: .post( session=>{session}.getAttribute("homeSessid").toString + "/some/relative/url" )

2 个答案:

答案 0 :(得分:2)

1)在第一个.exec:

.check( headerRegex("Set-Cookie", """HOME_SESSID=(.*dll/(\d+))""").saveAs("homeSessid") )

2)然后在我之后的http请求中检索homeSessid,例如:
.post( session=>{session}.getAttribute("homeSessid").toString + "/some/relative/url" )

答案 1 :(得分:1)

请正确阅读Check documentation。检查将数据保存到会话中,这是您必须阅读的地方。在这里,您只是尝试打印提取器。

例如,在执行检查后,您可以添加exec(function),例如:

.exec(session => {
  println(session("homeSessid").as[String]) // Gatling 2 API
  session
})