Skip to content

05 场景管理

CiciFangshengjie edited this page Mar 13, 2023 · 1 revision

引入接口

点击场景画布下方的【引入接口】,即可在右侧“API添加器”中看到您在“接口管理”中创建的接口,可以快捷勾选需要测试的接口,将待测接口复制到该场景下。

image.png

新建场景

我们可以在此建立待测试的场景,并根据需要输入场景描述。RunnerGo采用流的方式连接待测接口,自上而下进行测试。

image.png

新建接口

点击场景画布下方的”新建接口“,即可新建一个接口在该场景中。此接口只存在于当前场景中,不会同步至“接口管理”。

image.png

等待控制器

点击下方“添加控制器”可选添加“条件控制器”或“等待控制器”,等待控制器的作用是在流程配置间插入一个等待的时间,最大为60s。

image.png

条件控制器

条件控制器的作用是判断一个变量是否满足某个条件,由此决定该控制器下接口是否运行。

image.png

我们可以将上一个接口返回的变量用{{}}引用,选择期望所满足的条件,再输入变量值即可,如下图,设置了{{data}}等于1和等于2两个条件。

image.png

接口调试

点击指定接口,即可在右侧快捷编辑该接口(修改的数据仅保存在当前接口,不会同步至“接口管理”),输入正则表达式后,即可开始运行带有条件控制器的测试流。

image.png

运行通过的接口/控制器会标绿,未通过的接口/控制器会标红,未被测到的接口则是灰色(如“登录接口”。 运行结束后,我们可以点击接口块的“查看结果”按钮,来查看接口的返回数据。由于”随机值接口“返回的{{data}}是2,未满足条件控制器中“{{data}}等于1”的条件,所以判定不走下面的接口,于是下面的接口就是未测状态)

image.png

接口权重

接口权重是只占并发数的百分比,如下图所示:前置条件并发数为500。 随机值接口权重为100,首页接口权重为80,那么由于这两个接口上一级没有接口,所以,随机值接口的并发为500,而首页接口的并发为400;由于右侧注册副本接口的权重为80,那么我们取它上一级接口的最大并发数500为准,那么它的并发数为400,它的下一级登录接口(右侧),由于权重为50,所以登录接口的权重等于:400*0.5=200并发。

image.png

压测模式

目前RunnerGo在接口中支持默认模式、错误率模式、响应时间模式和每秒应答数模式四种压测模式。

image.png

错误率模式

以场景中单个接口的错误率为测试目标,可自定义错误率,如果场景中某一接口超过设置的错误率阈值,则计划自动停止;如到达最大并发数后,错误率仍没有超过错误率阈值,则继续运行稳定持续时长所设置的时长运行后结束该计划。

举例: 如下图所示,在场景中的任务配置里选择错误率模式后,需要在具体的一个或多个接口块中选择错误率模式,并填写错误率阈值(错误率阈值为小数)。如填写的错误率阈值为0.0001,则表示该接口错误率若大于或等于0.01%,那么该任务就会停止。 如果多个接口都设置了错误率模式,那么只要一个接口符合上述规则,则该任务会立即停止。

image.png

响应时间模式

根据场景中的所有接口响应时间为准,每个接口的响应时间均与设定的阈值进行对比,如果其中有一个接口达到大于设定的阈值后则并发数不再增加,并运行稳定持续时长所设置的时长运行后结束该计划;如果到达最大并发数后仍未达到设定的阈值,则继续运行稳定持续时长所设置的时长运行后结束该计划。

举例: 如下图所示,在场景中的任务配置里选择响应时间模式后,需要在具体的一个或多个接口块中选择响应时间模式,然后选择对应的响应时间节点50、90、95、100线或者101(平均响应时间),也可以自定义响应时间线。然后填写响应时间阈值。如下图我们选择了95响应时间线,阈值为10000ms(10秒),那么执行该计划后,如果该接口95%响应时间线大于所设置的阈值,那么则会立即停止该任务,如果没有设置或者未超过阈值,则继续按照任务配置运行。

image.png

每秒应答数模式

指每秒钟发送并响应的接口数量。计算方式:RPS=接口的总请求数*接口的并发数/响应总耗时,约等于:接口的并发数/平均响应时间(s)

举例: 如下图所示,在场景中的任务配置里选择每秒应答数模式后,需要在具体的一个或多个接口块中选择每秒应答数模式,然后填写应答数阈值。如果该计划执行后,该接口的RPS(每秒应答数)大于所设阈值,那么并发数会直接增加到最大并发数:150,然后运行持续时长:20秒 如果多个接口设置了每秒应答数模式及阈值,那么已经设置的所有接口RPS都达到或超过阈值后,按照上述逻辑执行。

image.png

场景设置

在上传文件处添加参数化文件, 参数化文件的第一行为变量名,以英文的“逗号分隔” 在变量处添加固定值的变量 此处添加的文件和变量可以在场景的接口中引用 引用方式{{***}}

image.png