调试场景

压测场景配置完成后,您可以通过调试场景验证配置是否合理,避免压测失败。本文介绍如何调试PTS和JMeter场景。

前提条件

已创建PTS或JMeter场景。具体操作,请参见创建PTS场景创建JMeter场景

操作步骤

  1. 登录PTS控制台,选择性能测试 > 场景列表

  2. 在目标场景的操作列下单击编辑,进入编辑场景页面。然后单击调试场景,进行全场景调试。

    在调试过程中可以单击右上角的调试场景.png图标来最小化窗口,在右下角以悬浮窗口随时关注调试状态。再次单击悬浮窗口,可切换回场景调试对话框。

  3. 在调试结果中可以查看所有链路的请求日志。单击某个API,可以查看该API的调试详情。

    若您只需对单个API进行调试,您还可以在场景配置页面,单击单个API右侧的调试API,查看单个API的调试结果。

    重要

    暂不支持对VPC内网的单个API进行调试,针对VPC内网的调试您可以选择单击调试场景进行全场景调试。

PTS场景调试界面说明

PTS场景调试界面如下:

image

  1. 断言判断

    叉图标表示异常。选中该API后,即可在右侧查看响应详情。

  2. 响应状态

    可能显示一个状态码(200、302、403、503、500等)或异常字样。若显示异常,则表示未收到Response,可能是因为请求超时,或因为请求的URL(含Body)有错误,例如函数无法识别、URL不规范等。

    说明

    每条调试的API均可查看到请求与响应详情。针对上述异常现象,可以从以下方面排查:

    • 若响应状态为异常,请在右侧响应详情标签页的Error信息区域查看异常信息。例如上图中的异常原因为非法参数(系统函数使用不合法)。

    • 若响应状态为除200以外的状态码,请查看具体返回信息,并结合服务器上的日志进行常规排查。

    • 若断言出现异常,请在右侧响应详情页签的检查点信息区域查看断言信息。若当前值为空,则表示未获取到出参值。

  3. Error 信息

    可显示异常响应详情,例如超时、参数错误、连接拒绝等。

  4. Timing为请求在核心的生命周期内的耗时详情。

    调试中的异常信息可结合Timing瀑布模型查看,各种报错都可以体现在Timing瀑布模型中。

    例如场景配置开启了302跳转,您需要查看压测是否跳转以及跳转的具体路径,可以结合Timing瀑布流查看。

  5. 出参表达式测试入口image

    当您需要基于请求的响应详情提取特定字符串时(一般是文本类型的响应体),可在调试窗口中测试正则表达式是否正确,可按需重新设置出参。

    说明

    由于Application/JSON和TEXT/JSON两种类型的JSON格式解析比较简单,暂不提供相关功能。

    1. 场景调试对话框的右侧,选中某条API,单击点此去测试出参正则表达式

    2. 测试出参正则对话框,选择来源格式,填写正则表达式,指定为第几个匹配项。单击测试表达式。通过响应详情匹配结果,预判提取的内容是否符合预期。

    3. 若需重新设置出参,则单击同步出参配置,将此正则表达式同步到该API的出参列表中。

      说明

      场景调试结束后,如有同步的出参,需返回压测场景配置页签,在对应的API出参定义页签下,设置出参名。

Jmeter场景调试界面说明

JMeter场景调试界面如下:

image

单击Sampler,即可在采样日志区域查看请求和响应的详情以及Timing瀑布流。

  • 采样日志

    • General页签中展示了请求URL、请求方法以及请求状态码。

    • 请求详情页签中展示了请求Headers和Body值以及请求的原始报文。

    • 响应详情页签中展示了响应Headers和Body值以及响应的原始报文。

    • Timing页签中展示了各接口的耗时信息。

  • 引擎日志区域展示了JMeter的运行日志。如果脚本调试后没有采样日志输出,您可以根据引擎日志中的报错信息进一步分析并处理问题。常见报错及原因,请参见常见报错