gatling系列教程(翻译)-(附加三)checks

百般思念 提交于 2019-12-05 18:13:14

概念
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)]

HTTP response body

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!