打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
loadrunner 脚本开发

 脚本开发-文件下载

by:授客QQ1033553122

下载简介

HTTP协议来说,无论是下载文件或者请求页面,对客户端来说,都只是发出一个GET请求,并不会记录点击后的“保存”、“另存为操作”。

如下,点击页面中tar.gz压缩包,用工具可以清楚的看到,客户端仅是发起了一个GET请求,请求获取点击的资源。接着服务器返回包含请求资源响应消息


 

LoadRunner记录了客户端发出的对文件的请求,并能够收到服务器返回的内容。因此,我们要做的额外工作就是“保存”、“另存为”---可以通过关联的方法获取服务器返回的内容,并写入文件保存即可。

注意:这里的要保存的内容为http的消息主体,也就是上述两箭头垂直相交形成区域的内容。

 

具体实例

如下,访问图示页面,并下载红色方框框选的压缩包



脚本主要由以下四个action组成,其中vuser_init,vuser_end的内容为默认值,未存放录制内容:

vuser_init

download_page

download_file

vuser_end

 

download_pagedownload_file的具体代码如下

// 访问下载页面

download_page()

{

   web_url("dist",

       "URL=http://tsung.erlang-projects.org/dist/",

       "Resource=0",

       "RecContentType=text/html",

       "Referer=",

       "Snapshot=t11.inf",

       "Mode=HTML",

       LAST);

 

   return 0;

}

 

//录制下载操作

download_file()

{

 

   intfile_size;   // 文件大小 //fwrite缓冲区大小

   longfile_handle = NULL;  // 文件句柄

 

  // 如果要保存的数据超过1024个字节,使用以下函数设置参数大小,保证参数可容纳要保存文件的大小

  web_set_max_html_param_len("10000");

 

  //将响应信息存放到file_content参数

  web_reg_save_param("file_content", "LB=", "RB=", "SEARCH=BODY", LAST);

 

  

  web_link("idx-tsunami-0.1.1.tar.gz",

       "Text=idx-tsunami-0.1.1.tar.gz",

       "Snapshot=t12.inf",

  LAST);

 

  //获取响应文件大小

  file_size =web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

 

  if(file_size > 0)     

  {

      //以“二进制+写”的方式打开文件(如下,在d盘根目录下新建idx-tsunami-0.1.1.tar.gz文件

      if((file_handle = fopen("d:\\idx-tsunami-0.1.1.tar.gz", "wb")) ==NULL)

      {

          lr_output_message("文件操作失败!");

          return -1;

      }

 

     //写入文件内容

      fwrite(lr_eval_string("{file_content}"), file_size, 1,file_handle);

      //关闭文件

      fclose(file_handle);

  }

 

  return 0;

}

 

注意:

1.如下,从BODY,即消息主体中查找,不指定左右边界,即查找所有消息主体的内容

web_reg_save_param("file_content", "LB=", "RB=", "SEARCH=BODY", LAST);

 

2.上述的web_link手工改成如下的web_url也是可以的。

web_url("下载idx-tsunami-0.1.1.tar.gz",

   "URL=http://tsung.erlang-projects.org/dist/idx-tsunami-0.1.1.tar.gz",

 "Resource=0",

   "RecContentType=application/x-gzip",

   "Referer=http://tsung.erlang-projects.org/dist/",

   "Snapshot=t12.inf",

   "Mode=HTML",

   LAST);

解说:

1."URL=http://tsung.erlang-projects.org/dist/idx-tsunami-0.1.1.tar.gz",

此处的URL为指定资源下载地址,通常通过右键资源连接-->属性,可看到,如下图



 

2."Referer=http://tsung.erlang-projects.org/dist/",

这里的Referer指下载资源所引用的页面,RefererHTTPheader的一部分,当浏览器web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用fusioncatcher进行融合基因的分析
LoadRunner运行中的mmdrv和mdrv
【竺】性能测试笔记6——Loadrunner使用流程
Exe文件开机启动,隐藏运行窗口运行
LoadRunner11下载以及详细破解说明 | 码农博客
Loadrunner 11 录制的脚本为空问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服