性能测试 CODEARTS PERFTEST-修改导出的工程文件

时间:2024-04-10 11:27:15

修改导出的工程文件

表1 请求类型为思考时间

参数名称

描述

name

思考时间的名称,可修改。

t

持续时间(ms)。

思考时间是指用户在执行两个连续操作期间的等待时间。例如用户在登录和搜索之间停留的时间。

例如某事务每运行一次响应时间为 0.5 秒。

  • 如果希望每秒执行两次事务请求:则不添加请求信息类型为“思考时间”的事务请求信息。
  • 如果希望每秒只执行一次事务请求:思考时间调整为 1 秒。如果思考时间设置为 1 秒而响应时间大于 1 秒,则思考时间不会生效,按响应时间发送压测请求。
表2 请求类型为报文

参数名称

描述

name

报文的名称,可修改。

http_version

协议类型。

支持HTTP、HTTPS、TCP和UDP。

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

method

支持GET、POST、PATCH、PUT和DELETE。

return_timeout

发送请求,等待服务器响应的超时时间。

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

URL

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

headers

由关键字/值对组成,请求头部通知服务器有关于客户端请求的信息,“头域”的说明请参见头域说明

报文内容

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

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

当请求类型为TCP时,设置以下参数。

说明:

TCP类型的报文暂不支持响应提取功能。

IP

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

port

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

connect_timeout

发起连接,服务器无响应的超时时间。

return_timeout

连接建立成功,等待响应返回的超时时间。

连接设置

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

check_end_type

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

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

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

body

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

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

说明:

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

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

表3 请求类型为响应提取

参数名称

描述

name

变量的名称,命名必须唯一,响应提取的值赋予此变量。

range

响应提取内容的范围。

  • 报文内容
  • 头域
  • URL
  • 响应码

其中“报文内容”、“头域”、“URL”可通过正则表达式进行内容提取。

regexp

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

完整的正则表达式由两种字符构成:特殊字符(special characters)称为“元字符”(meta characters);其它为“文字”(literal),或者是普通文本字符(normal text characters,如字母、数字、汉字、下划线)。元字符的说明请参见正则表达式元字符

说明:

“()”表示提取,对于您要提取的内容需要用小括号括起来,每个“()”之间的内容表示一个子表达式。

match_index

在正则表达式已提取的内容中,获取第几个匹配的内容。

取值范围:正整数。

说明:

该参数值不可设置为0。

exp_index

表示解析到的第几个子表达式的值。

取值范围:自然数。

说明:

取值为0表示匹配整个正则表达式。

取值为1表示匹配正则表达式的第一个子表达式即第一个“()”提取的内容。

通过“正则表达式”和“第几个匹配项”提取出内容后,再通过“表达式取值”获得最终的提取内容。

JSON Key Name

请输入需要获取的键名。

例:{key:{"key1":"v1","key2":["v2","v3"]}},如果想取出“v2”,则输入key.key2[0]

default

正则匹配失败时,取的值。

表4 请求类型为检查点

参数名称

描述

name

检查点的名称,可修改。

value

响应报文携带的HTTP/HTTPS/TCP/UDP协议响应状态码,通常包括1XX,2XX,3XX,4XX,5XX。

header_checks

HTTP/HTTPS/TCP/UDP协议的Header部分。

body_checks

HTTP/HTTPS/TCP/UDP/MQTT协议的Body部分,为HTTP/HTTPS/TCP/UDP/MQTT协议请求、响应的负载部分。

表5 新增测试工程

参数名称

描述

name

测试工程的名称。

description

测试工程的相关描述。

表6 新增事务

参数名称

描述

name

事务名称。

contents

请求信息内容。

在该事务下可以添加事务请求信息,您可以根据业务需求添加多个事务请求信息。

表7 新增任务

参数名称

描述

issue_num

并发用户。

并发用户数指在同一时刻内,对系统进行业务操作的用户数量,在性能测试服务中为用户在定义测试任务阶段设置的虚拟用户数。

name

阶段名称。

设置一个符合业务场景的名字,比如首页测试。

time

持续时间(s)。

本阶段压测执行的最长时间。

count

发送总次数。

该事务在一次任务的运行中,将按照运行次数计算,到达设定数值,该任务下此事务的性能测试将终止。

表8 新增全局变量

参数名称

描述

name

全局变量的名称。

variable

全局变量值。

variable_type

说明:

变量的内容,在压测时将以明文传输,请谨慎输入,注意数据安全。

全局变量类型。

变量类型为整数时,输入变量值范围。

压测任务运行时会读取对应全局变量范围内的值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。

您可以根据业务需求添加多个变量值。

压测任务运行时会读取对应全局变量的参数值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。

support.huaweicloud.com/usermanualnew-cpts/cpts_02_0047.html