lr中的lr_output_message,Lr_debug_message,Lr_error_message,Lrd_stmt,Lrd_fetch函数

lr_output_message:将带有脚本部分的行号的消息发送到输出窗口和日志文件

举例说明:

lr_debug_message:

lr_debug_message基本用法

int lr_debug_message (unsignedint message_level, const char *format, ... );

message_level

One of the Message Log Run-Time Settings. Disabled does not apply.

format

A formatted string which is the message to be sent to the log file. You may use the standard Message Formatting that is available for printf.

The lr_debug_message function sends a debug message when the specified message level is active. If the specified message level is not active, a message is not issued. You can set the active message level to MSG_CLASS_BRIEF_LOG or MSG_CLASS_EXTENDED_LOG from the user interface or by using lr_set_debug_message. To determine the current level, use lr_get_debug_message.

Note that you can also specify multiple message levels with an OR separator ("|"). If any one of the levels are active (from the UI), the message is issued to the Output window. If none of the levels are active, the message is not issued.

The message is sent to the output window. To display the debug messages in the LoadRunner output window or Application Management agent log file, use the Expert Mode Settings. Activate Expert Mode (Tools > Expert Mode) and then choose Tools > Options > Debug Information and select the General check box.

例子:

In the following example, lr_debug_message issues a message to the log when either the Parameters Substitution or Result Data classes are set.

lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG, LR_SWITCH_ON);

. . .

rc = lrd_fetch(Csr1, 1, 1, 0, PrintRow3);

if (rc>2000)

lr_debug_message(LR_MSG_CLASS_RESULT_DATA |         LR_MSG_CLASS_PARAMETERS, "Operation failed.");

lr_error_message:

1、 lr_error_message定义:

  a) 发送一个本地详细的错误信息到输出窗口、日志文件或者其他测试报告摘要。

  2、 lr_error_message格式:

  a) Return Values:这个函数成功的返回值是那被发送的长度信息。失败的返回值是一个负数。

  b) Parameterization:不能找任何理由为这个函数进行标准参数化。

  c) C语言的格式是:int lr_error_message(const char *format,exp1,exp2,...expn);

  d) Java语言的格式是:int lr.error_message(String message);

  3、 lr_error_message注意:

  a) 在虚拟用户执行日志,发送的信息包含这个函数列表位置和行,发送一个信息不需要这些细节,使用lr_message。

  b) 不建议你在一个事务的中间发送一个消息到输出窗口,因为它将延长执行时间。可以使用lr_log_message代替发送一个只有虚拟用户的日志文件。考虑修复源代码的时候可以在参考脚本生成器执行日志处以红色显示的lr_error_message函数的信息,使用错误代码17999。即使当日志不作为运行时设置的时候,注意这个函数发送出来的信息。

  c) 如果run-time-setting>general>miscellaneous>fail open transactions on lr_error_message是被选中的,调用lr_error_message将会成为一个发送信息失败的事务,如果你想保存共用这个事务的失败,在调用lr_error_message之前,使用Lr_get_transaction_duration函数捕获时间,然后使用lr_set_transaction创建报告时间的事务

  4、 lr_error_message例子:

  a) C语言例子:登录失败返回一个信息

  int status = web_url("Login",

  "URL=https://secure.computing.com//login.asp?user={username}&session={ssid}",

  "RecContentType=text/html", LAST );

  if (status == LR_FAIL)

  {

  lr_error_message("Error: %s", "Unable to login to secure computing");

  return -1;

  }

  b) Java语言例子:登录失败返回一个信息

  try {

  lr.start_transaction("create");

  _carmel = _carmelhome.create();

  lr.end_transaction("create", lr.AUTO);

  }

  catch (Throwable t) {

  lr.end_transaction("create", lr.FAIL);

  lr.error_message("Exception occur while calling EJB create");

  t.printStackTrace();

  }

/***/

/*
lr_set_debug_message与lr_debug_message 的用法
*/

Action()

{
   /*
   开启日志:LR_SWITCH_ON
   关闭日志:LR_SWITCH_OFF
   它们是成对使用的
   */

   /*
   调试类型:LR_MSG_CLASS_EXTENDED_LOG 对应run-time settings(显示扩展日志)
   显示扩展日志子项如下:
   LR_MSG_CLASS_PARAMETERS对应run-time settings(参数取值)
   LR_MSG_CLASS_RESULT_DATA对应run-time settings(服务器返回)
   LR_MSG_CLASS_FULL_TRACE(高级跟踪) PS:什么叫高级跟踪 我也不明白
           
   */

   //开启日志输出

   lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG|LR_MSG_CLASS_PARAMETERS|LR_MSG_CLASS_RESULT_DATA|LR_MSG_CLASS_FULL_TRACE ,LR_SWITCH_ON);

   //设置一个开始日志输出的flag

   lr_debug_message(LR_MSG_CLASS_PARAMETERS |LR_MSG_CLASS_RESULT_DATA|LR_MSG_CLASS_FULL_TRACE ,"*****开始标志****");


   lr_eval_string("{user}");

   //设置一个结束日志输出的flag

   lr_debug_message(LR_MSG_CLASS_PARAMETERS |LR_MSG_CLASS_RESULT_DATA|LR_MSG_CLASS_FULL_TRACE ," *****结束标志****");

   //关闭日志输出

   lr_set_debug_message(LR_MSG_CLASS_EXTENDED_LOG|LR_MSG_CLASS_PARAMETERS|LR_MSG_CLASS_RESULT_DATA|LR_MSG_CLASS_FULL_TRACE ,LR_SWITCH_OFF);

  //下面这段信息不回出现在输出窗口,因为它们不在lr_set_debug_message开启到关闭这段代码内
   lr_debug_message(LR_MSG_CLASS_PARAMETERS |LR_MSG_CLASS_RESULT_DATA|LR_MSG_CLASS_FULL_TRACE,"这个段信息时不会出现在输出窗口了,因为它不在lr_set_debug_message调试范围内");



  // lr_error_message用法,这个函数我只知道可以在:比如判断web_url请求失败返回一个状态LR_FAIL,
  // 然后输出一条错误日志,至于它和lr_output_message区别,我就觉得在输出窗口中,这段输入信息会红色高亮显示.哈哈

   lr_error_message("注意:%s","错料,这个要谨慎使用,云大神说了,如果编写脚本时为了方便使用该函数调试脚本而忘记删除,那么在场景执行会记入错误数");

  // lr_output_message用法,这个函数相信大家都会用。
   lr_output_message("在输出窗口输入参数值%s",lr_eval_string("{user}"));


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值