51Testing软件测试论坛
标题:
求助大神啊~~~~帮我看下这段下载文件的脚本
[打印本页]
作者:
sad326159
时间:
2013-12-26 16:28
标题:
求助大神啊~~~~帮我看下这段下载文件的脚本
int flen;
long filedes;
//设置参数的最大长度,注意该值必须大于文件的大小
web_set_max_html_param_len("20000");
//获取响应的全部内容,作为文件内容保存
web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);
web_url("downloadFile.view",
"URL=http://202.118.65.34/dgbg/downloadFile.view?tableName=oa_fwgl&uuid=d7789664501b11e380d559ca399248e1&userName=2012012099&userrealName=u8besQ!!&developer=dgbg",
"Resource=1",
"RecContentType=application/x-download",
"Referer=",
"Snapshot=t1.inf",
LAST);
//获取响应中的文件长度
flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);
if(flen > 0)
{
//以写方式打开文件
if((filedes = fopen("d:\\test\\test.doc", "wb")) == NULL)
{
lr_output_message("Open File Failed!");
return -1;
}
//写入文件内容
fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
//关闭文件
fclose(filedes);
}
return 0;
复制代码
这是一个下载脚本 我需要他下载的文件名不一样 这需要 参数化 那个值
求大神指教~~~~~
作者:
jenery
时间:
2013-12-27 14:44
test.doc文件名不一样?
用 strcpy()
strcat()函数,参数test,在拼接就ok了
作者:
我是真不会
时间:
2013-12-28 09:31
定义一个变量char filename[1024];然后在第22和23行之间插入
strcpy(filename,"D:\\test\\test_");
strcat(filename,lr_eval_string("{num}"));
strcat(filename,".doc");
应该就可以了。
作者:
云层
时间:
2013-12-30 09:36
测下载不用这种关联的做法了,没啥意义的,直接让LR自动下载下来就行了。
作者:
ttsly18
时间:
2013-12-30 14:52
LR脚本没必要写的这么牛逼、复杂、繁琐。重要的还是要清楚互相间的http请求
作者:
Nio
时间:
2013-12-30 17:13
"URL=http://202.118.65.34/dgbg/downloadFile.view?tableName=oa_fwgl&uuid=d7789664501b11e380d559ca399248e1&userName=2012012099&userrealName=u8besQ!!&developer=dgbg",
这个URL?号之后的部份,你需要跟开发人员核对下各参数代表的意思。然后你就知道该参数化什么了。
这是第一步。
第二步。下载的文件需要保存。如果需要每次保存时的文件名也不相同。我只能遗憾的告诉你,你还需要学习C语言是如何写文件的。三楼说出了具体的部份代码。但这还不足以上你能立马解决这第二个问题。
踏踏实实学一次C语言,也许是最好的选择。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2