51Testing软件测试论坛
标题:
问一个关于loadrunner录制下载保存本地的问题
[打印本页]
作者:
amigo1119
时间:
2010-4-2 18:14
标题:
问一个关于loadrunner录制下载保存本地的问题
我录制了一个脚本,是将系统文件下载到本地
通过网上的一些方法,已经可以使用一个用户将文件下载到本地了
但是如果使用多用户并发操作也只下载了一个文件。请高手指教一下。
在网上找到关于下载的脚本如下,还需要怎么设置呢?
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 编辑
]
作者:
amigo1119
时间:
2010-4-3 16:34
自己顶一下
作者:
云层
时间:
2010-4-3 18:03
不好说,从脚本角度来说没啥问题,可能是业务上的问题,比如系统禁止你的多用户同时下载吧
作者:
amigo1119
时间:
2010-4-3 19:23
我使用多个用户同时下载却能下载2个数据。
作者:
skyzhu
时间:
2010-4-4 10:48
脚本最后加日志直接打印在场景里,总能知道问题的
比如可能随机出来的文件名是一样的,结果都存一起了,或者系统就不能同时下多个等等
作者:
amigo1119
时间:
2010-4-5 10:47
好,我试试~~
作者:
amigo1119
时间:
2010-4-5 17:24
对这些参数都进行输出,输出都为空,不知道是不是我写错了,我把能输出的内容都写上了。
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 编辑
]
作者:
TIB
时间:
2010-4-5 21:47
lr_output_message("test1=%d",rNum);
lr_output_message("test1=%s",fullpath);
。。。
作者:
amigo1119
时间:
2010-4-6 10:56
谢谢~~能打印出来结果了,但是并发操作还是没法看到是不是每个用户都下载的是否一样呢
如果使用迭代的话,是每个用户都可能下载成功的~~
作者:
amigo1119
时间:
2010-4-6 17:40
再顶上去,等待高手解答
作者:
skyzhu
时间:
2010-4-6 22:56
lr_message("test1=%s",fullpath);
lr_message("test2=%s",lr_eval_string("{fcontent}"));
加到你脚本里
在场景里运行的时候或者运行完,点场景右上角那里 error什么的统计旁边的数字,会出来个小窗口,里面有打印的日志,都打印出来了总能知道问题的
作者:
test7
时间:
2010-4-7 07:44
留个脚印关注一下
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2