上下文配置和使用

最近更新时间:2019-07-25 11:14:08

操作场景

除了简单的接口测试,URL 测试还全面支持上下文场景压测以及 HTTPS 协议测试。
关于上下文场景测试,简单点来说就是我需要测试一个 URL,但是需要另外一个 URL 的返回值作为输入参数。
数据的来源可以来自上文的 Header 以及 Body 中。提取方式可以按照 json 格式的提取、键值对方式提取、全部提取、正则表达式提取。

操作步骤

json 格式提取

URL1 是向服务器获取一个 json 格式的 Body 请求,然后我们需要提取 json 格式中的 [“projectinfo”][0][“user_id”] 这个路径下的值作为 URL2 的一个 Header 中 hh 变量的值。那么我们的场景配置可以是这样。
URL1 的配置为:

URL1 的返回值为:

URL2 的配置为:

hh 是我们 URL2 中需要添加的 Header 字段,它的值来自于上一个 URL1 中的返回值 jsonv1 变量,这里我们用两个大括号把这个变量名括起来。需要注意的是我们在定义变量的时候变量名(例如 jsonv1)是不能一样的。testheader 还在 jsonv1 基础上加了 aa 两个字符,这也是可以的。
配置好这两个 URL 之后我们可以在测试模型中把它们的关系配置好,如下所示。

键值对方式提取

目前键值对的编写规则是这样的 k1=v1;k2=v2,键值对可以在 URL1 的 Response Header 中,也可以在 URL1 的 Response Body 中。

k1 变量表示来自 URL1 中返回的 Header 的 Set-Cookie 部分,其中的 uid 字段的值。k2 变量表示来自 URL1 中返回的 Body 中,Body 本身是多个键值对的字符串,我们取其中名字为 name 的值。至于 URL2 中的配置跟上面一样。

全部提取

全部提取就是把 URL1 中的 Response Header 某个字段的内容全部提取出来,这里不具体阐述了。

正则表达式提取

正则表达式的提取是提供给用户一个自定义提取规则的方式,用户首先确定好来自 Response Header 还是 Response Body,对于 Response Body 还要给出 Header 名称,最后在提取规则中给出要提取内容的正则表达式。
例如在下面文本中需要提取 123,使用该正则表达式即可。