更新时间:2023-12-13 GMT+08:00
分享

添加请求信息(报文)

报文是HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV应用程序之间发送的数据块。这些数据块以一些文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分。这些报文都是在客户端、服务器和代理之间流动。

操作步骤

  1. 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”
  2. 在待编辑PerfTest测试工程所在行,单击工程名称进入测试工程详情页面。
  3. 选择“测试用例”页签,在左侧“用例列表”下选择待添加请求信息的用例。
  4. 在“用例步骤”页签中,选择待添加请求信息的用例,单击“添加请求”。
  5. “报文”页签,参照表1设置基本信息。

    表1 报文参数

    参数

    参数说明

    协议类型

    请根据业务的协议类型选择,当前支持HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV。

    当协议类型为HTTP和HTTPS时,设置以下参数。

    请求方式

    GET/POST/PATCH/PUT/DELETE

    请求地址

    发送请求的URL地址,比如“http://域名/路径”,也可以包含参数的部分“http://域名/路径?key1=value1&key2=value2”。

    支持变量输入,详情请参见插入变量

    响应超时(ms)

    发送请求,等待服务器响应的超时时间。响应超时时间范围是20ms到5分钟。

    如果不设置此参数,默认响应超时时间为5000ms。

    携带cookie

    说明:

    用例下至少已有一个请求信息,添加新的请求信息时进行设置。

    • 自动获取:使用响应设置的cookie。
    • 手动设置:只使用当前请求信息设置在头域中的cookie。

    自动重定向

    选择是否跳转到重定向的地址,开关默认打开,即默认自动跳转到重定向的地址。

    请求参数

    请求地址中的参数设置。

    单击“添加请求参数”,设置“名称”和“值”。选择是否勾选“Url Encode”,默认为不勾选,勾选后对请求参数的值做URL编码。

    如果您不需要添加请求参数,可以单击“删除”,删除请求参数。

    请求头

    请根据压测服务器需要校验或者使用的头域来添加相关头域及内容。性能测试服务没有对必填头域作要求,仅透传用户定义的头域到压测服务器。“头域”的说明请参见头域说明

    单击“添加头域”,设置“头域”和“值”,如果您不需要添加头域信息,单击“删除”,删除报文头域。

    单击“批量编辑”,可以切换成文本框编辑模式同时对多个头域进行编辑;单击“键值编辑”,可返回“键值对”编辑模式。

    说明:

    “请求方式”为“POST”或“PUT”,且“头域”为“Content-Type”时,“值”有三种类型,且支持插入变量:

    • 自定义:直接在输入框中输入值。
    • application/x-www-form-urlencoded:请求体为可添加的键值对形式,值为文本。
    • multipart/form-data:请求体为可添加的键值对形式,值可为文本或文件。值为文件时,支持body体导入。

    Body体

    实体的主体部分包含一个由任意数据组成的数据块,并不是所有的报文都包含实体的主体部分。

    如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。

    1. 在请求内容输入框内输入“$”。
    2. 在“插入变量”对话框中,配置参数。详情请参见插入变量
    3. 单击“选择”。

    当协议类型为TCP时,设置以下参数。

    IP

    发送请求到被测服务器的IP地址。

    端口号

    发送请求到被测服务器的端口号。

    连接超时

    发起连接,服务器无响应的超时时间。连接超时时间范围是20ms到60s。

    返回超时

    连接建立成功,等待响应返回的超时时间。返回超时时间范围是20ms到60s。

    连接设置

    • 重复使用连接:请求响应完成后,不断开连接,复用连接发送接收下一次请求响应。
    • 关闭连接:每次完成请求响应完成后,断开连接,下一次重新建立连接。

    返回结束设置

    通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。

    • 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。
    • 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。
      说明:

      结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。

    内容格式

    请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。

    说明:

    16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。

    如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。

    1. 在请求内容输入框内输入“$”。
    2. 在“插入变量”对话框中,配置参数。详情请参见插入变量
    3. 单击“选择”。

    当协议类型为UDP时,设置以下参数。

    IP

    发送请求到被测服务器的IP地址。

    端口号

    发送请求到被测服务器的端口号。

    返回结束设置

    通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。

    • 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。
    • 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。
      说明:

      结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。

    内容格式

    请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。

    说明:

    16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。

    如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。

    1. 在请求内容输入框内输入“$”。
    2. 在“插入变量”对话框中,配置参数。详情请参见插入变量
    3. 单击“选择”。

    当协议类型为HLS时,设置以下参数。

    流媒体地址

    视频源的地址,比如“http://域名/路径”。

    播放时长(秒)

    模拟播放的时长。

    说明:

    用例调试时,播放时长会设置为3秒。

    直播缓冲等待请求时间间隔(毫秒)

    直播场景下,视频播放源无新数据时候,尝试获取新数据的时间间隔。

    直播缓冲等待请求的最大次数

    直播场景下,视频播放源无新数据时候,尝试获取新数据的最大次数,如果超过最大次数,则判断为失败。

    当协议类型为RTMP且“请求方式”“推流”时,设置以下参数。

    流媒体服务器地址

    被测流媒体服务器的IP地址。

    端口号

    被测流媒体服务器监听的端口号,RTMP协议默认为1935。

    应用名称

    即推流URL中的AppName,直播流媒体文件存放路径,例如:live。

    流名称

    即推流URL中的StreamName,用来唯一标识一条直播流,例如:livestream。

    推流时长(秒)

    模拟主播推流的时长,单位:秒。

    视频源地址

    用来存放模拟直播推流的视频源文件的OBS地址。目前仅支持flv文件格式,且不支持H.265编码的非标准flv文件。

    当协议类型为RTMP且“请求方式”“拉流”时,设置以下参数。

    流媒体服务器地址

    被测流媒体服务器的IP地址。

    端口号

    被测流媒体服务器监听的端口号,RTMP协议默认为1935。

    应用名称

    即拉流URL中的AppName,直播流媒体文件存放路径,例如:live。

    流名称

    即拉流URL中的StreamName,用来唯一标识一条直播流,例如:livestream。

    播放时长(秒)

    模拟观众观看直播的时长,单位:秒。

    当协议类型为WEBSOCKET时,设置以下参数。

    WEBSOCKET方法类型

    Connect:与压测网站建立WebSocket连接。

    DisConnect:关闭与压测网站的连接。

    Pong:向压测网站发送pong。

    Ping&Pong:向压测网站发送pong期望返回ping。

    Request:向压测网站发送请求并接收响应。

    ReadOnly:仅接收压测网站发送的信息。

    WriteOnly:仅向压测网站发送信息。

    请求连接地址

    WebSocket连接的URL地址,比如“ws://域名/路径”,支持加密请求,即“wss://域名/路径”。

    连接超时(ms)

    发起连接,服务器无响应的超时时间。连接超时时间范围是20ms到60s。

    说明:

    仅当“方法类型”为“Connect”时,需要设置该参数。

    状态码

    自定义关闭连接对应的状态码。默认值为1000,输入范围为0~4999。

    说明:

    仅当“方法类型”为“DisConnect”时,需要设置该参数。

    请求类型

    请根据被测服务器的业务请求内容,下拉选择“Text”或“Binary”。

    说明:

    仅当“方法类型”为“Request/WriteOnly”时,需要设置该参数。

    请求内容

    根据请求类型中设定格式输入请求信息报文内容。

    说明:

    仅当“方法类型”为“Request/WriteOnly”时,需要设置该参数。

    响应类型

    请根据被测服务器的业务响应内容,下拉选择“Text”或“Binary”。

    说明:

    仅当“方法类型”为“Request/ReadOnly”时,需要设置该参数。

    响应超时(ms)

    连接建立成功,等待响应返回的超时时间。返回超时时间范围是20ms到60s。

    请求头

    请根据压测服务器需要校验或者使用的头域来添加相关头域及内容。性能测试服务没有对必填头域作要求,仅透传用户定义的头域到压测服务器。“头域”的说明请参见头域说明

    单击“添加头域”,设置“头域”和“值”,如果您不需要添加头域信息,单击“删除”,删除报文头域。

    单击“批量编辑”,可以切换成文本框编辑模式同时对多个头域进行编辑;单击“键值编辑”,可返回“键值对”编辑模式。

    当协议类型为HTTP-FLV时,设置以下参数。

    流媒体地址

    视频源的地址,比如“http://{视频源ip}:8080/live/stream.flv”。

    播放时长

    模拟播放的时长。

    说明:

    用例调试时,播放时长会设置为3秒。

  6. 配置完成后,单击“保存”

报文如何填写

报文通俗的解释就是用户在网站界面上的所有单击操作。每个单击操作通过编辑成满足协议规范带有用户请求内容格式的码流传送给不同的第三方,最后得到一个正确或者失败响应的一个过程。

可以通过在操作时按“F12”,或抓包工具(例如wireshark)查看报文是怎么请求的,然后根据实际业务在压测的报文中填写。

例如,模拟登录请求的POST方法,对应的请求连接、请求方法、头域、报文内容如下图所示。

图1 模拟登录请求的POST方法
分享:

    相关文档

    相关产品