51Testing软件测试论坛

标题: 求助大神啊~~~~帮我看下这段下载文件的脚本 [打印本页]

作者: sad326159    时间: 2013-12-26 16:28
标题: 求助大神啊~~~~帮我看下这段下载文件的脚本
  1. int flen;
  2.         long filedes;
  3.         //设置参数的最大长度,注意该值必须大于文件的大小
  4.         web_set_max_html_param_len("20000");

  5.         //获取响应的全部内容,作为文件内容保存
  6.         web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);

  7.         web_url("downloadFile.view",
  8.         "URL=http://202.118.65.34/dgbg/downloadFile.view?tableName=oa_fwgl&uuid=d7789664501b11e380d559ca399248e1&userName=2012012099&userrealName=u8besQ!!&developer=dgbg",
  9.         "Resource=1",
  10.         "RecContentType=application/x-download",
  11.         "Referer=",
  12.         "Snapshot=t1.inf",
  13.         LAST);
  14.                                                                                

  15.         //获取响应中的文件长度
  16.         flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

  17.         if(flen > 0)       
  18.         {
  19.                 //以写方式打开文件
  20.                 if((filedes = fopen("d:\\test\\test.doc", "wb")) == NULL)
  21.                 {
  22.                         lr_output_message("Open File Failed!");
  23.                         return -1;
  24.                 }
  25.                 //写入文件内容
  26.                 fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
  27.                 //关闭文件
  28.                 fclose(filedes);
  29.         }

  30.         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