将测试进行到底!

用loadrunner参数化下载的文件名(续下载文件并保存到本地 )

上一篇 / 下一篇  2008-02-22 16:36:00 / 个人分类:load runner使用技术

   今天看了关河老师的博客一篇《用LoadRunner下载文件并保存到本地》,我很受启发,根据关河老师提供的原创脚本,我把他早博客中没有写出的那部分提供出来“我们希望每次下载保存到本地的文件采用不同的名称,或是希望根据实际文件的后缀名动态生成后缀名”,就是对下载的文件名做参数化操作,也算自己对测试经验的一次积累吧,并且希望想用loadrunner录制下载脚本/参数化文件名称的同学一个很好的学习机会,尽量少走弯路。其实我在这次的编写C脚本中得到一个很大的启发,那就是平时多去学习C语言,多去看lr帮助,多去查看LR函数。

http://www.cnblogs.com/guanhe/archive/2006/06/27/436746.html

我在网上找了一个网站进行录制脚本的,这个网站不做,感觉很适合我连手呵呵:http://www.netqin.com。(里面的软件很适合智能手机哦,包月很便宜的,服务也好!)

根据关河老师的那个脚本,录制/编写完下载的脚本后,就开始参数化那个下载的文件名啦(如果我有这个需求的话)。我尝试过很多方法:

1.对 fopen("c:\\NetQin_P919_CommMaster.SIS", "wb")里的文件名的一部分919,直接在fopen()中进行参数化:fopen("c:\\NetQin_P{随机码}_CommMaster.SIS", "wb"),结果:测试失败。

2.就是使用“设一个数值的变量,然后把它转成字符串,再与前面的字符串连起来”,这里用到了strcat()连接函数。结果:参数设置成功,运行通过。

具体做法:

Action()
{
    int flen;
    long filedes;
    char file[256]="\0";
    char fuzhi[10]="\0";
    char * chNumber=fuzhi;

    chNumber=lr_eval_string("{随机码}");
 
    strcat(file,"c:\\NetQin_P");
    strcat(file,chNumber);
    strcat(file,"_CommMaster.SIS");


   //设置参数的最大长度,注意该值必须大于文件的大小
  web_set_max_html_param_len("2000000");

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

 lr_start_transaction("down");

 web_url("down.jsp",
  "URL=http://www.netqin.com/down.jsp?downID=30&action=Url_1",
  "Resource=1",
  "RecContentType=application/vnd.symbian.install",
  "Referer=",
  "Snapshot=t3.inf",
  LAST);

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

 if(flen > 0) 
 {
  //以写方式打开文件
  if((filedes = fopen(file, "wb")) == NULL)
  {
   lr_output_message("Open File Failed!");
   return -1;
  }
  //写入文件内容
  fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
  //关闭文件
  fclose(filedes);
 }

 lr_end_transaction("down",LR_AUTO);

   // lr_think_time(3);

 return 0;
}

运行结果:在我的机器C盘产生了三个文件(只三个参数哦,迭代三次),NetQin_P110_CommMaster.SIS、NetQin_P112_CommMaster.SIS、NetQin_P113_CommMaster.SIS

提供一个不错的文章去供大家练习字符串的操作:http://www.cnblogs.com/pent/archive/2007/12/17/1003363.html

 

LoadRunner下载文件的实验

http://www.cnblogs.com/pent/archive/2007/09/04/881708.html


TAG:

探花 引用 删除 lp20105203344   /   2016-01-13 17:27:04
5
wuzhulove的个人空间 引用 删除 wuzhulove   /   2011-02-17 18:01:08
原帖由wangyong3552128于2008-02-22 16:49:54发表
web_set_max_html_param_len("2000000");
设置长一些,否侧下载的文件太小。

设置长了报内存错误。。搞了半天才发现
warchief09的个人空间 引用 删除 warchief09   /   2010-01-27 12:00:57
放逐耳际 引用 删除 hankliu520   /   2008-09-11 14:46:35
web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);

能把这段代码详细的分析下吗,里面的LB,RB,SEARCH=BODY等不太懂,谢谢了!
放逐耳际 引用 删除 hankliu520   /   2008-09-11 09:02:13
这种下载脚本选什么协议呢
引用 删除 qinet   /   2008-05-15 15:53:48
现在可以下载了。但为什么下载下来的文件是0K呢。。。请指教。
不要安于现状=奋斗=永不停息 引用 删除 wangyong3552128   /   2008-02-24 12:28:21
加粗的那段代码就是参数化的文件命名成。
测火燎原--态度决定质量 引用 删除 ppent   /   2008-02-22 18:16:31
总结的不错,多交流哦。
不要安于现状=奋斗=永不停息 引用 删除 wangyong3552128   /   2008-02-22 16:49:54
web_set_max_html_param_len("2000000");
设置长一些,否侧下载的文件太小。
 

评分:0

我来说两句

Open Toolbar