当前位置: 首页 > 工具软件 > Gatling > 使用案例 >

Gatling:HTTP Checks

萧展鹏
2023-12-01

目录

(HTTP 状态码)HTTP status

status

页面位置(Page Location)

currentLocation

currentLocationRegex

HTTP header

header

headerRegex


HTTP 请求的检查
HTTP Check 实现提供了以下内置功能:

HTTP status(HTTP 状态码)

status

以 HTTP 响应状态码为目标。

.check(
  status.saveAs("status")
)

如果您没有对 HTTP 请求或 HTTP 协议定义显式状态检查,Gatling 将执行隐式检查,以验证响应状态代码是 2XX 还是 304。

页面位置(Page Location)

currentLocation

以当前页面的绝对URL为目标。在跟踪重定向以检查登录页面是否确实是预期的页面时很有用。

.check(
  currentLocation.saveAs("url")
)

currentLocationRegex

对于currentLocation,通过使用Java正则表达式从中筛选一些信息,就像在通用正则表达式中一样。
它需要一个参数:

  • pattern可以是纯字符串、gatling字符串表达式或函数。
.check(
  // 单个捕获组
  currentLocationRegex("https://(.*)/.*")
    .saveAs("domain"),
  // 带有“captureGroups”的多个捕获组
  currentLocationRegex("http://foo.com/bar?(.*)=(.*)")
    .ofType[(String, String)]
    .saveAs("queryParamKeyAndValue")
)

HTTP header

它需要一个参数:

  • headerName 可以是纯字符串、gatling字符串表达式或函数。
.check(
  header("Content-Encoding").is("gzip")
)

headerRegex

对于header,通过使用Java正则表达式从中筛选一些信息,例如在通用正则表达式中,
它需要两个参数:

  • (第一个参数,例如:"FOO")headerName可以是纯字符串、gatling字符串表达式或函数。
  • (第二个参数,例如:"foo(.*)bar(.*)baz")pattern可以是纯字符串、gatling字符串表达式或函数。
.check(
  headerRegex("FOO", "foo(.*)bar(.*)baz")
    .ofType[(String, String)]
    .saveAs("data")
)
 类似资料:

相关阅读

相关文章

相关问答