(原创)如何在脚本调试过程中输出调试诊断信息


版权声明:本文为原创文章,转载请先联系并标明出处

性能测试中,脚本调试往往占据了很大一部分时间,简明直接的调试诊断信息可以帮助测试人员快速的获取所需信息、调整脚本。LoadRunner中通过调试的分步运行或打断点调试,也可以调用函数打出调试信息;Jmeter中,调试信息是通过查看结果树HTTP镜像服务器变量查看样本调试工具等进行调试;网上对于这两种工具的资料较多,此处不再赘述。本文将以HyperPacer为例,讲解调试诊断信息的输出。

闲话少叙,直接上干货。

HyperPacer中,脚本调试分为两种情况,一种是比较简单的模式快照浏览器,一种是比较复杂的模式大咖取样器输出到控制台,我们逐一介绍。

简单模式:快照浏览器,是脚本录制完成后,调试运行的结果。

1、调试运行录制好的脚本

2、查看快照浏览器,绿色为请求执行通过,红色为请求执行失败(注意:执行通过并不意味着脚本是请求成功的,需要进行检查,可参见《如何在性能测试中更有效的设置检查点》

在快照中,以树形展示结果,可以查看每一个取样器的请求和响应的的具体信息。由于快照浏览器比较简单直接,此处不再举例解释,可以参见帮助文档。我们按需要查看具体的取样器执行情况即可。

复杂模式:大咖取样器直接编码输出到控制台,可以使用LOG方法,在大咖取样器中,内置了可以与HyperPacer系统框架直接交互的变量,直接调用即可(变量及其含义请参见帮助文档,此处不一一列举)。

在实例说明之前,我们了解一下日志的输出级别:

ERROR:严重的错误

WARN:警告信息,存在潜在问题需要引起注意

INFO:信息打印/信息展示

DEBUG:调试信息

TRACE:系统详细信息,临时输出

Hyperpacer中,支持对前三种日志进行输出,下面通过简单的例子来进行说明:

示例:输出性能测试脚本执行时“登录取样器使用的用户”和“登录取样器的响应码”。

1、在登录事务中新建大咖取样器,并将该取样器位置调整为登录取样器之后

2、编辑“输出信息”取样器,使用LOG日志输出,此处为信息打印形式,所以选择INFO方法,写法见下图:

为方便讲解,我们把内容贴出来查看:

log.info(vars.get("username.username")); --【在控制台展示使用的用户名】

log.info(prev.getResponseCode())  --【在控制台展示登录的结果状态码】

使用到了以下几个元素:

log:日志操作类实例

info:log的具体方法,还包括error、warn

prev:获取上一个取样器的执行结果

ResponseCode:运行结果状态码变量

vars:变量容器,可以放置或获取所有定义的变量

username.username:登录取样器中,用户所使用的参数名称

编写的规则支持java及groove语法,相信懂编码的人一看即懂。

3、如果要看到输出的控制台信息,需要在执行的时候设置日志级别

日志级别标识在控制台输出的日志级别:

NONE:什么日志都不输出

INFO:输出ERROR、WARN以及INFO三种级别的日志

WARN:输出ERROR及WARN级别的日志

ERROR:输出ERROR级别的日志

FATAL_ERROR:输出致命错误日志

本例中使用的是信息输出INFO,所以执行的时候,也需要选择INFO才能输出日志,输出结果为:

从上例中,可以看出,INFO级别的日志较多,获取我们需要的信息比较费劲,我们可以通过ERROR输出日志信息,大咖取样器及其输出结果如下:

查看结果,简洁明了。当然此处只是举个例子,实际使用中还是需要遵循日志级别进行信息输出的。通过这种方式,能输出一些我们需要的信息,从而达到调试脚本的目的。

   参考文章:


LoadRunner常见报错日志以及解决方案
原文出处
原文地址:https://www.cnblogs.com/fengyanfengyu/p/6835800.html