|
本帖最后由 UnAngel_test 于 2012-5-8 18:29 编辑
=================================================================================================
现在又蹦出个新的问题,仍然是LR录制下载的时候:
功能描述:新建一条记录,进入这条记录的附件列表,上传好一个附件, 在录制的时候就是进入这条记录,进入附件列表,下载这条附件
相关操作:进入这条记录,将这条附件删除, 回放脚本下载脚本成功,保存的文件大小跟原附件一样大小,且从LR页面发现从服务器返回获取到的附件信息仍为原附件的信息
==================================================================================================
请高手帮下忙,今天捣鼓一天了还没解决
附件下载-保存脚本如下:
1 web_set_max_html_param_len("20000");
2 //获取响应的全部内容,作为文件内容保存
3 web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);
4 web_url("BaseAttachManageDownload.jsp",
5 "URL=http://192.168.100.88:8010/cmcceoms/UltraWF/manageprocess/Base6 AttachManageDownload.jsp?attID=000000000060942",
7 "Resource=0",
8 "RecContentType=text/html",
9 "Referer=http://192.168.100.88:8010/cmcceoms/UltraWF/manageprocess/B10 aseAttachManageDownload.jsp?attID=000000000060942",
11 "Snapshot=t16.inf",
12 "Mode=HTML",
13 EXTRARES,
14 "Url=BaseAttachManageDownload.jsp?attID=000000000060942",
15 "Referer=http://192.168.100.88:8010/cmcceoms/UltraWF/manageprocess/B16 aseAttachManageDownload.jsp?attID=000000000060942", ENDITEM,
17 LAST);
//获取响应中的文件长度
18 flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);
19 chNumber=lr_eval_string("{NewParam}"); //生成随机数
20 if(flen >0)
21 {
22 strcpy(wxdong,"D:\\test");
23 strcat(wxdong,chNumber);
24 strcat(wxdong,".zip");
//以写方式打开文件
25 if((filedes = fopen(wxdong, "wb+")) == NULL)
26 {
27 lr_output_message("Open File Failed!");
28 return -1;
29 }
// strcat(filedes,"D:\\test0");
//strcat(filedes,chNumber);
// strcat(filedes,".rar");
//写入文件内容
30 fwrite(lr_eval_string("{NewParam}"), flen, 1, filedes);
//关闭文件
31 fclose(filedes);
1)环境实际情况:B/S架构系统,脚本使用url/http方式录制,IE6/7都尝试过,附件列表中只有一个附件:a.rar,附件大小为2.5M
2)想要实现:回放脚本的时候 ,在脚本22行所说的路径下:D盘根目录下保存一个*.zip文件,大小为2.5M(当然这个压缩变小了,暂时先忽略)
3)实际出现:回放脚本之后,在脚本22行所说的路径下:D盘根目录下保存了一个*.zip文件,大小为0KB
4)在上述情况之后,将脚本中20行改为“if(flen > 3000000)”,在D盘根目录下不会生成任何zip文件;当脚本中20行改为“if(flen > 2500000),在D盘根目录下生成了*.zip文件,且大小仍为0KB
经过4)的尝试,认为附件已经下载下来,但是在写入且保存的时候,未成功保存。
请高手指点下!!!
================================================================
脚本不做其他修改, 将30行的改为 fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes); 就能保存成功了 |
|