zoukankan      html  css  js  c++  java
  • (原创)如何在脚本调试过程中输出调试诊断信息


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

    性能测试中,脚本调试往往占据了很大一部分时间,简明直接的调试诊断信息可以帮助测试人员快速的获取所需信息、调整脚本。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常见报错日志以及解决方案
    原文出处
  • 相关阅读:
    页面输入框限制
    异常处理:Sys.WebForms.PageRequestManagerParserErrorException:The message……
    几种常用网页文本编辑器总结
    C#委托和事件讲解
    ASP.NET内置对象详解
    string和stringBuilder区别
    Session和Cookie深度剖析
    破解版ps
    webpack
    JS设置cookie、读取cookie、删除cookie
  • 原文地址:https://www.cnblogs.com/fengyanfengyu/p/6835800.html
Copyright © 2011-2022 走看看