上云无忧 > 文档中心 > 天翼云性能测试PTS参数引用 - 响应提取
性能测试PTS
天翼云性能测试PTS参数引用 - 响应提取

文档简介:
如果同一任务中存在多个API,通过正则表达式把前一个API的输出提取出来,作后一个API的输入。 您可以通过控制台添加header的响应提取并用于下一个API。 1.登录PTS控制台。 2.在控制台左侧导航栏场景管理中,选择所需的场景并单击右侧的【编辑 】。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

如果同一任务中存在多个API,通过正则表达式把前一个API的输出提取出来,作后一个API的输入。

您可以通过控制台添加header的响应提取并用于下一个API。

1.登录PTS控制台。

2.在控制台左侧导航栏场景管理中,选择所需的场景并单击右侧的【编辑 】。

3.在场景配置页面,切换到【响应提取】,打开【启用响应提取】开关,选择内容类型,并配置提取规则。

参数 参数说明
变量名称 变量的名称,命名必须唯一,响应提取的值赋予此变量。
内容类型 响应提取内容的类型,支持Header、Body:text、Body:json、响应码。
正则表达式 支持使用正则表达式对内容进行提取,详细请参见正则表达式。
第几个匹配项 在正则表达式已提取的内容中,获取第几个匹配的内容。取值范围:正整数。
表达式取值 表示解析到的第几个子表达式的值。取值范围:自然数。
缺省值 提取失败时的默认值。
条件表达式 当提取的内容类型为Body:json时,可通过条件表达式对内容进行提取,详细请参见条件表达式。

4.在同任务下,某API提取出来的变量名称(假设为test1),可以给该API后面的所有API使用,支持在url、Header、Body中使用,操作如下:

1)在url位置末尾处输入image.png,在弹出的选择参数对话框选择响应提取,下拉选择参数名称,单击确认即可,也可以直接手动输入image.png{test1}

2)在Body定义位置输入image.png,在弹出的选择参数对话框选择响应提取,下拉选择参数名称,单击确认即可,也可以直接手动输入image.png{test1}

3)在Header定义位置输入image.png,在弹出的选择参数对话框选择响应提取,下拉选择参数名称,单击确认即可,也可以直接手动输入image.png{test1}

5.含有响应提取变量的API接口,不允许API调试,可选择调试场景,查看提取的响应变量。

正则表达式

1)常用正则表达式介绍:

正则表达式 说明 响应示例 匹配结果
(\d+) 匹配非负整数 abTV1ttiu6RTed9WEqp4U 1 6 9 4
([A-Za-z]+) 匹配由26个英文字母组成的字符串 abTV1ttiu6RTed9WEqp abTV ttiu RTed WEqp
([A-Za-z0-9]+) 匹配由数字和26个英文字母组成的字符串 abTV1ttiu6RTed9_iop abTV1ttiu6RTed9 iop
(\w+) 匹配由数字、26个英文字母或者下划线组成的字符串 abTV1ttiu6R_iop:tian abTV1ttiu6R_iop tian
([\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+) 匹配email地址 dc_iop:tian@abc.com tian@abc.com

2)"token"\s*:\s*"(.*?) ":获取token值。

响应示例:

{"info": {"name":
"张三","uid":
"100","source": 10,"source_uid":
"123456","access_token":
"abc123","ctyun_user_id":
"abcdefg","token":
"ab1cD_e2Fgh3iGklmno4pqrsT6uvw7Yz.Eab1cD_e2Fgh3iGklmno4pqrsT ","identity":
-1},"status": {"code": 0,"message":
"ok"}}复制

匹配结果:ab1cD_e2Fgh3iGklmno4pqrsT6uvw7Yz.Eab1cD_e2Fgh3iGklmno4pqrsT

配置示例:

3)userid:(.* ) userid:(. * ) :多表达式取值

响应示例:

userid:11 userid:12

userid:21 userid:22

userid:31 userid:32复制

匹配结果:

11 12
21 22
31 32

配置示例:

4)(ab|ac)+ :由多个ab或者ac匹配。

响应示例:ababdacac

匹配结果:

第1个匹配项,表达式取值1或0 第2个匹配项,表达式取值1或0
ab ac
abab acac

配置示例一:

配置示例二:

条件表达式

当提取内容类型为Body:json时,支持条件表达式,响应json示例:

{
  "name": {"first": "Tom", "last": "Anderson"},
  "age":37,
  "children": ["Sara","Alex","Jack"],
  "fav.movie": "Deer Hunter",
  "friends": [
    {"first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "tw"]},
    {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]},
    {"first": "Jane", "last": "Murphy", "age": 47, "nets": ["ig", "tw"]}
  ]
}复制

1)基础用法介绍:

条件表达式 匹配结果
name.last Anderson
age 37
children ["Sara","Alex","Jack"]
children.# 3
children.1 Alex
child*.2 Jack
c?ildren.0 Sara
image.png  Deer Hunter
friends.1 {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]}
friends.#.first ["Dale","Roger","Jane"]
friends.1.last Craig

2)高级用法介绍:

条件表达式 匹配结果
friends.#(last=="Murphy").first Dale
friends.#(last=="Murphy")#.first ["Dale","Jane"]
friends.#(age>45)#.last ["Craig","Murphy"]
friends.#(first%"D*").last Murphy
friends.#(first!%"D*").last Craig
friends.#(nets.#(=="fb"))#.first ["Dale","Roger"]
相似文档
  • 介绍如何通过PTS的参数文件方式使用参数。 在一些需要自定义压测请求参数,特别是需要参数动态变化的压测场景中,可以使用参数文件实现参数的配置,本节介绍参数文件使用方法。
  • 介绍如何使用系统变量。 通过系统变量可以快速实现常见参数的使用,实现方式如下: 1.登录 PTS控制台。 2.选择【场景管理】 > 【创建场景】,在场景配置的url输入框、header或body的value输入框中输入“image.png"符号,即可弹出参数选择框。
  • 介绍如何使用系统函数。 通过系统变量可以快速实现常变量的引用,实现方式如下: 1.登录 PTS控制台。 2.选择【场景管理】 > 【创建场景】,在场景配置的url输入框、header或body的value输入框中输入“image.png"符号,即可弹出参数选择框。
  • 介绍如何配置检查点。 在实际压测场景中,检查点功能可以帮助您从业务维度判断请求是否成功。检查点校验失败的请求为业务异常数,在压测中和压测后生成的报告都会展现业务成功或失败的信息,为判断是否继续压测提供参考。
  • 介绍API调试和场景调试。 您可以通过控制台调试创建好的压测场景。 1.登录PTS控制台。 2.在控制台左侧导航栏场景管理中,选择所需的场景并单击右侧的【编辑 】。 3.在场景配置页面,单击【调试API】, 在弹出的窗口中查看调试详情。 4.有多个api,可单击【调试场景】, 在弹出的窗口左侧切换api接口的调试详情。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部