概念
Check API用于两件事情:
验证对请求的响应是否符合预期
最终在其中捕获一些元素。
检查是根据具有检查方法的请求执行的。 例如,在HTTP请求上:
http("My Request").get("myUrl").check(status.is(200))
One can of course perform multiple checks:
http("My Request").get("myUrl").check(status.not(404), status.not(500))
默认情况下,Gatling遵循重定向(可以在协议中禁用)。 如果启用此行为,检查将忽略中间响应,并将针对着陆响应。
Defining the check type
HTTP检查实现提供以下内置函数:
HTTP status
status
Targets the HTTP response status code.
当您未指定请求时,状态检查将自动添加到请求中。 它检查HTTP响应是否具有2XX或304状态代码。
Page location
currentLocation
指定当前页绝对URL。 以下重定向是有用的,以检查目标网页是否确实是预期的。
currentLocationRegex(pattern)
与上述相同,但是pattern用于在当前位置应用正则表达式。
默认情况下,它可以提取0或1个捕获组,因此提取类型为String。
可以提取多于1个捕获组,并使用Type [T]额外步骤定义不同的类型:
currentLocationRegex(pattern).ofType[T]
Gatling提供了从Tuple2 [String]提取String元组到Tuple8 [String]的内置支持。
以下示例将捕获两个捕获组:
currentLocationRegex("http://foo.com/bar?(.*)=(.*)").ofType[(String, String)]
HTTP header
header(headerName)
指定给定名称的HTTP响应标头。 headerName可以是纯字符串,使用Gatling EL或Expression [String]的String。
headerRegex(headerName, pattern)
与上述相同,但是pattern用于在标头值上应用正则表达式。
标题名称可用作DSL中的常量,可从HttpHeaderNames对象访问,例如。HttpHeaderNames.ContentType。
默认情况下,它可以提取0或1个捕获组,因此提取类型为String。
可以提取多于1个捕获组,并使用Type [T]额外步骤定义不同的类型:
headerRegex(headerName, pattern).ofType[T]
Gatling提供了从Tuple2 [String]提取String元组到Tuple8 [String]的内置支持。
以下示例将捕获两个捕获组:
headerRegex("FOO", "foo(.*)bar(.*)baz").ofType[(String, String)]