51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3517|回复: 11
打印 上一主题 下一主题

[原创] 问一个关于loadrunner录制下载保存本地的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-2 18:14:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我录制了一个脚本,是将系统文件下载到本地
通过网上的一些方法,已经可以使用一个用户将文件下载到本地了
但是如果使用多用户并发操作也只下载了一个文件。请高手指教一下。
在网上找到关于下载的脚本如下,还需要怎么设置呢?
Action()
{
     int flen,rNum;
     long file_stream;
     char fullpath[256], filename[32];
  rNum = rand() % 100;
//生成一个随机的文件全路径名
     itoa(rNum, filename, 10);     
     strcpy(fullpath, "c:\\");   
     strcat(fullpath, filename);
     strcat(fullpath, ".rar");

web_add_cookie("download_allow=www.caiqing.net; DOMAIN=www.caiqing.net");

web_url("view_detail.php",
  "URL=http://www.caiqing.net/view_detail.php?id=356",
  "Resource=0",
  "RecContentType=text/html",
  "Referer=",
  "Snapshot=t1.inf",
  "Mode=HTML",
  EXTRARES,
  "Url=/ad_images/hrZvD2uT.gif", "Referer=http://www.caiqing.net/view_detail.php?id=356", ENDITEM,
  "Url=/ad_images/co6imlsjn.gif", "Referer=http://www.caiqing.net/view_detail.php?id=356", ENDITEM,
  LAST);


   //设置参数的最大长度,该值必须大于文件的大小

web_set_max_html_param_len("20000000");


//关联服务器响应的Boby的全部内容(返回的下载文件内容)


web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);

web_url("down_file.php",
  "URL=http://www.caiqing.net/down_file.php?sfid=i01t5wyk&id=1",
  "Resource=0",
  "RecContentType=application/octet-stream",
  "Referer=http://www.caiqing.net/view_detail.php?id=356",
  "Mode=HTML",
  LAST);

//获取服务器中返回的文件长度
  flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

    if(flen > 0)   
    {
      /* 以二进制写模式打开随机文件*/
        if((file_stream = fopen(fullpath, "wb")) == NULL)
        {
            lr_output_message("Open File Failed!");
            return -1;
        }

       /*把关联的数据写入文件*/
        fwrite(lr_eval_string("{fcontent}"), flen, 1, file_stream);

        /* 关闭文件流 */
        fclose(file_stream);
    }

return 0;
}

[ 本帖最后由 amigo1119 于 2010-4-2 18:40 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-4-3 16:34:01 | 只看该作者
自己顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-4-3 18:03:13 | 只看该作者
不好说,从脚本角度来说没啥问题,可能是业务上的问题,比如系统禁止你的多用户同时下载吧
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-4-3 19:23:10 | 只看该作者
我使用多个用户同时下载却能下载2个数据。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-4-4 10:48:25 | 只看该作者
脚本最后加日志直接打印在场景里,总能知道问题的
比如可能随机出来的文件名是一样的,结果都存一起了,或者系统就不能同时下多个等等
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-4-5 10:47:18 | 只看该作者
好,我试试~~
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-4-5 17:24:09 | 只看该作者
对这些参数都进行输出,输出都为空,不知道是不是我写错了,我把能输出的内容都写上了。
        lr_output_message("test1=",itoa);
        lr_output_message("test2=",rNum);
        lr_output_message("test3=",fullpath);
        lr_output_message("test5=",file_stream);
        lr_output_message("test6=",lr_eval_string("{fcontent}"));
使用并发操作的时候,在下载文件的操作记录中却没有并发的操作流程记录。

[ 本帖最后由 amigo1119 于 2010-4-5 17:51 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-4-5 21:47:22 | 只看该作者
lr_output_message("test1=%d",rNum);
lr_output_message("test1=%s",fullpath);
。。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-4-6 10:56:08 | 只看该作者
谢谢~~能打印出来结果了,但是并发操作还是没法看到是不是每个用户都下载的是否一样呢
如果使用迭代的话,是每个用户都可能下载成功的~~
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2010-4-6 17:40:40 | 只看该作者
再顶上去,等待高手解答
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-4-6 22:56:04 | 只看该作者
lr_message("test1=%s",fullpath);
lr_message("test2=%s",lr_eval_string("{fcontent}"));
加到你脚本里
在场景里运行的时候或者运行完,点场景右上角那里 error什么的统计旁边的数字,会出来个小窗口,里面有打印的日志,都打印出来了总能知道问题的
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-4-7 07:44:06 | 只看该作者
留个脚印关注一下
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 17:07 , Processed in 0.073620 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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