2

我的测试运行良好,但现在我需要同时运行多个会话。我尝试使用获取 cookie 值,headerRegex("Set-Cookie", "HOME_SESSID=(.*)").saveAs("homeSessid")但是当我将其打印出来时,它返回的值为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" )

4

2 回答 2

3

1)在第一个.exec中:

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

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

于 2014-03-10T19:21:27.423 回答
2

请正确阅读检查文档。检查将数据保存到会话中,因此您必须阅读。在这里,您只是想打印提取器。

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

.exec(session => {
  println(session("homeSessid").as[String]) // Gatling 2 API
  session
})
于 2014-03-08T07:52:21.717 回答