51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 13610|回复: 8
打印 上一主题 下一主题

[原创] lr_think_time的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-3 11:09:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我录制了一个简单的脚本
#include "web_api.h"


Action()
{
        web_add_cookie("BAIDUID=D0D107D34637E1112281ED33337B2D98; DOMAIN=www.baidu.com");

        web_url("www.baidu.com",
                "URL=http://www.baidu.com/",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t1.inf",
                "Mode=HTML",
                LAST);
               lr_start_transaction("music");
        web_add_cookie("BAIDUID=D0D107D34637E1112281ED33337B2D98; DOMAIN=mp3.baidu.com");

        lr_think_time(3 );

        web_link("MP3",
                "Text=MP3",
                "Snapshot=t2.inf",
                LAST);

    lr_output_message("Think time = %lf",lr_get_transaction_think_time("music"));
    lr_end_transaction("music",LR_PASS);
}

可是,我不知道为什么 lr_output_message("Think time = %lf",lr_get_transaction_think_time("music"));
这句话的输出都是Action.c(26): Think time = 0.000000,可是我设置的是3秒哈。请问为什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-4-3 11:20:59 | 只看该作者
没用过这个函数。
你这么做的目的是想做什么?
在执行日志中会打印transaction的时间,其中有个wasted time就是thinktime的时间的。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-4-3 11:23:57 | 只看该作者
wasted time就是thinktime的时间,这两个是一个东西? 数值是一样的? 
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-4-3 11:24:48 | 只看该作者
你的应该是运行时设置里忽略了lr_think_time

按照以下设置一下就可以了:
运行时设置-->常规-->思考时间-->在选项中选择重播思考时间-->按录制时记录的时间
就可以了...

[ 本帖最后由 mfktafd 于 2007-4-3 11:31 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-4-3 11:35:36 | 只看该作者
谢谢楼上,是没有设置。设置之后,就可以了,不过我还以为那个脚本是自动录制的,不用再设置了呢。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-2-13 17:40:32 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-2-14 10:58:30 | 只看该作者
我设置了,可执行时函数总报错。 请帮忙看下什么原因? 多谢了!
后来发现,是事务结束函数放在了该函数的前面,导致出错。
不明白的是,为什么必须放在事务结束函数的前面,才能正确执行?

出错时会报下面的错误:
日志打印如下:

Action.c(79): 错误: Failed to get think time for transaction "music".
Action.c(82): think_time is -16970.000000

相关脚本:

think_time=lr_get_transaction_think_time("music");

//lr_output_message("Think time = %d",lr_get_transaction_think_time("music"));

lr_output_message("think_time is %lf",think_time);
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-7-31 10:17:13 | 只看该作者
double lr_get_transaction_think_time(const char * transaction);这个函数的正确用法就是只对当前处于运行状态的事务才能返回大于等于0的结果。如果事务结束了当然就无法获取信息了。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2015-3-12 14:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
    发表于 2009-7-31 10:32:35 | 只看该作者

    回复 7# 的帖子

    这个函数必须写在transaction事务中,不能写到事务外,不然是取不到值的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 06:19 , Processed in 0.075544 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表