Scala 中的 Gatling 如何从重定向中获取 url
Gatling in scala how to get url from redirect
我在 scala 中使用 gatling ver 2.3.0。发送请求后是否有可能从重定向到变量得到 url?例如我请求 192.168.1.30:8080/,这个 link 将我重定向到 192.168.1.30:8080/token/123,我可以得到 /token/123 吗?我尝试使用此代码但发生错误 header.find.exists,但在 Fiddler 中我什么也没找到,我看到了这个 header
val httpConf = http
.baseURL("http://192.168.1.30:8080")
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")
val scn = scenario("SCENARIO2")
.exec(http("open")
.get("/")
.check(header("Location").saveAs("url")))
.exec(session => {
val urlN = session.get("url").asOption[String]
print(urlN.getOrElse("nothing"))
session
})
我知道重定向有什么问题这是对我的问题的回答:
1) 我应该将 .disableFollowRedirect 和 .check(status.is(302)) 添加到场景
val httpConf = http
.baseURL("192.168.1.30:8080") // Here is the root for all relative URLs
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // Here are the common headers
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")
.disableFollowRedirect
val scn = scenario("SCENARIO2")
.exec(http("open")
.get("/")
.check(status.is(302))
.check(header("Location").saveAs("url")))
.exec(session => {
val urlN = session.get("url").asOption[String]
print(urlN.getOrElse("nothing"))
session
})
我在 scala 中使用 gatling ver 2.3.0。发送请求后是否有可能从重定向到变量得到 url?例如我请求 192.168.1.30:8080/,这个 link 将我重定向到 192.168.1.30:8080/token/123,我可以得到 /token/123 吗?我尝试使用此代码但发生错误 header.find.exists,但在 Fiddler 中我什么也没找到,我看到了这个 header
val httpConf = http
.baseURL("http://192.168.1.30:8080")
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")
val scn = scenario("SCENARIO2")
.exec(http("open")
.get("/")
.check(header("Location").saveAs("url")))
.exec(session => {
val urlN = session.get("url").asOption[String]
print(urlN.getOrElse("nothing"))
session
})
我知道重定向有什么问题这是对我的问题的回答: 1) 我应该将 .disableFollowRedirect 和 .check(status.is(302)) 添加到场景
val httpConf = http
.baseURL("192.168.1.30:8080") // Here is the root for all relative URLs
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // Here are the common headers
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")
.disableFollowRedirect
val scn = scenario("SCENARIO2")
.exec(http("open")
.get("/")
.check(status.is(302))
.check(header("Location").saveAs("url")))
.exec(session => {
val urlN = session.get("url").asOption[String]
print(urlN.getOrElse("nothing"))
session
})