版权声明:本文为原创文章,转载请先联系并标明出处
性能测试中,脚本调试往往占据了很大一部分时间,简明直接的调试诊断信息可以帮助测试人员快速的获取所需信息、调整脚本。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常见报错日志以及解决方案
原文出处