使用PTS压测时,若需指定特殊请求来进行压测,可以通过定义Header来实现。本文介绍如何在场景配置中定义Header。

前提条件

完成API基本信息配置,具体操作,请参见配置基本请求信息

背景信息

在实际压测场景中,经常需要特定请求来进行压测,例如在压测某网页登录场景时,需要指定鉴权通过的请求来进行压测。使用PTS发起的压测均为HTTP协议的请求,在进行场景配置时,通过定义Header的Key和Value来指定特殊的访问请求。若需更精确地指定请求,可以通过定义Body来实现,具体操作,请参见定义Body

对API Header的定义,可以通过以下三种方式,使定义在不同范围内生效:

说明
  • 若通过以上方式设置的Header的Key相同,则范围小的Header定义生效。
  • 若通过以上方式设置的Header的Key均不相同,则三种Header定义均生效。

设置单个API Header

若为单个压测请求定义Header信息,需在每个API的Header定义页签下编辑KeyValue

  1. 场景配置页签中,单击API的下拉箭头图标。
  2. 在展开区域单击Header定义页签。设置Header.png

    设置Header定义的相关参数:

    • Value中可以填写参数化的表达式。

      函数、字符串的组合嵌套等更高级的参数编写方法,请参见系统函数及字符串如何组合嵌套使用

    • Key输入框中,PTS会根据填入的信息模糊匹配通用的HTTP Request Header,帮助您快速选择目标Header。
    • 单击Header定义页签右上角文本编辑,可切换为文本形式,查看已输入Key和Value。您也可以在文本编辑形式下,批量写入多个Header。示例如下:
      token : 123abc
      Cookie : session=12345                            
    • Content-type需要在Body定义页签进行设置。

设置串联链路Header

若某串联链路中的多个压测API需要同一个Header,可以通过设置串联链路Header的方式实现Header批量添加。

例如:在线选课业务中需要区分一年级学生、二年级学生。若需压测该选课业务,则需为一年级、二年级学生分别创建串联链路并设置串联链路Header,以区分选课学生类型。

设置串联链路Header操作步骤如下:

  1. 场景配置页签串联链路区域最右侧选择 > 链路Headerlink_header
  2. 单击串联链路Header行,并在展开区域编辑Header的Key和Value。串联链路Header

    设置相关参数:

    • Value中可以填写参数化的表达式。

      函数、字符串的组合嵌套等更高级的参数编写方法,请参见系统函数及字符串如何组合嵌套使用

    • Key输入框中,PTS会根据填入的信息模糊匹配通用的HTTP Request Header,帮助您快速选择目标Header。
    • 单击Header页签右上角文本编辑,可切换为文本形式,查看已输入Key和Value。您也可以在文本编辑形式下,批量写入多个Header。示例如下:
      Grade : 1
      Cookie : abc                           
    • Content-type需要在Body定义页签进行设置。

设置全局Header

如果整个压测场景中的所有请求都需要同一个Header,可以设置全局Header参数。

例如:对某页面进行压测时,为区分页面在Chrome和Firefox浏览器中的不同表现,可以创建两个压测场景,同时在每个压测场景中设置全局Header,以区分每个请求所属场景。

设置全局Header操作步骤如下:

  1. 创建场景编辑场景页面,单击页面下方的数据源管理
  2. 数据源管理面板中,单击下方的全局Header页签。
  3. 填写全局Header的Key和Value。示例如下:
    注意 全局Header的Value需填写确定值,暂不支持参数化表达式的解析。
    全局Header

    设置相关参数:

    • Key输入框中,会根据填入的信息模糊匹配通用的HTTP Request Header,帮助您快速选择目标Header。
    • 单击全局Header页签右上角的文本编辑,可切换为文本形式,查看已输入Key和Value。您也可以在文本编辑形式下,批量写入多个Header。示例如下:
      explorer_identification : chrome
      Cookie : 123abc