我的测试运行正常,但现在我需要同时运行多个会话。我尝试使用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" )
答案 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
})