青miao 发表于 2012-12-12 13:46:01

关于waste time的疑问

最近一直在看云层老师的书,看到下面一段代码
Action()
{
    int i;
        int baseIter=100;
        int wasteTime;
        char dude;
        merc_timer_handle_t timer;
    lr_start_transaction("Demo");
        for(i=0;i<=baseIter*1000;i++){
                sprintf(dude,"This is the way we waste time in a script=%d",i);
                }
        wasteTime=lr_end_timer(timer);
        lr_wasted_time(wasteTime*100);
        lr_end_transaction("Demo",LR_AUTO);                                                       
        return 0;
}
         -----------《性能测试进阶指南LR11》P206-207

书上说运行脚本,可以输出waste time的时间。但是我实际运行,没有输出这个时间(不知道是电脑本身的原因还是其他,若设置循环控制条件i<=baseIter*1000,似乎跑很久都不会停下来,我将它改成了10)
结果如下:
unning Vuser...
Starting iteration 1.
Starting action Action.
Action.c(10): Notify: Transaction "Demo" started.
Action.c(16): Notify: Transaction "Demo" ended with "Pass" status (Duration: 12.6527).
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.

并没有waste time 的时间输出。恳请大家帮帮忙看看,这究竟是什么原因

青miao 发表于 2012-12-13 10:02:05

没人回答啊,各位大神!!!求助啊

青miao 发表于 2012-12-13 10:02:18

我在顶一次

西风一任秋 发表于 2012-12-13 12:26:06

刚刚试了下,将wasteTime定义改为Double类型,然后加个lr_start_timer就可以了

青miao 发表于 2012-12-13 13:47:04

回复 4# 西风一任秋

   大神,用你的办法改了我这边还是不行啊。能再给看看嘛,谢谢
    Action.c (9): operands of = have illegal types `pointer to void' and `int'

代码
Action()
{
    int i;
        int baseIter=100;
        double wasteTime;
        char dude;
        merc_timer_handle_t timer;
    lr_start_transaction("Demo");
        timer=lr_start_time();
        for(i=0;i<=baseIter*1000;i++){
                sprintf(dude,"This is the way we waste time in a script=%d",i);
                }
        wasteTime=lr_end_timer(timer);
        lr_wasted_time(wasteTime*100);
        lr_end_transaction("Demo",LR_AUTO);                                                       
        return 0;
}

青miao 发表于 2012-12-14 10:18:01

快要沉了~~大神

coolluo 发表于 2012-12-14 17:11:41

Action()
{
    int i;
      int baseIter=100;
      int wasteTime;
      char dude;
      merc_timer_handle_t timer;
    lr_start_transaction("Demo");
        timer=lr_start_timer();
      for(i=0;i<=baseIter*10;i++){
                sprintf(dude,"This is the way we waste time in a script=%d",i);
                }
      wasteTime=lr_end_timer(timer);
      lr_wasted_time(wasteTime*10);
      lr_end_transaction("Demo",LR_AUTO);                                                         
      return 0;
}
我的代码是这样的,可以看到waste time 的时间

青miao 发表于 2012-12-17 10:10:22

回复 7# coolluo

是这样的,谢谢!

云层 发表于 2012-12-17 10:42:22

兄弟。。。你坑我了。。

书上有这句timer=lr_start_timer();
你自己抄没有了导致没有wasted time的。。。。害的我专门去翻了翻书还以为是我写出bug了呢
页: [1]
查看完整版本: 关于waste time的疑问