LoadRunner下载文件脚本 
 在看普泽关于pezybase的测试报告的时候,发现里面有用到jmeter(http协议)并发测试下载文件,考虑到后面可能需要在公司pezybase的并发下载,把之前使用过的loadrunner下载文件脚本重新运行和整理一下。
  一、http协议
  loadrunner使用http协议是无法录制到下载过程的,只会往服务器发送一个下载请求,其实服务器已经把数据返回给客户端了,但是loadrunner是录制不到保存文件到本地这个过程,所以就是需要我们手动把收到的内容保存打本地即可。(http协议上传文件的完整过程是可以直接录制的,在UC中已经使用过)。
  注意:下面脚本中用到的LR函数如下,还使用了一些C语言基本的文件操作方法。在脚本中还可以加入一些判断来进行事务是否成功以及文件大小是否正确等的判断;
  web_reg_save_param:关联函数,放在http请求前面,保存请求返回的内容;
  web_url:http请求函数,向指定的url发送请求,下载文件也就是直接往下载链接发送请求;
  web_get_int_property:获取下载请求返回的文件长度;
  web_set_max_html_param_len:设置web_set_max_html_param_len方法中参数的最大长度,要求大于需要下载文件的大小; Action() {
int 
flen;//定义一个整型变量保存获得文件的大小
long 
fileContent;//保存文件句柄,也就是文件的内容
char 
fileName[]="";//保存文件路径及文件名
char * strNumber;
strNumber=lr_eval_string("test{NewParam}");//获取一个随机数并转化成字符串 
,NewParam设置参数为随机类型,这里根据自己需要进行参数化设置
strcat(fileName,"C:/test/");//将路径保存到file变量中
strcat(fileName,strNumber); 
//拼接文件名
strcat(fileName,".pdf");//拼接后缀名,根据需要设置,最后就完成了完整的路径和文件名
web_set_max_html_param_len("20000");//设置参数的最大长度,注意该值必须大于文件的大小
//使用关联函数获取下载文件的内容,在这里不定义左右边界,获得服务器响应的所有内容
web_reg_save_param("fcontent", 
//返回的内容全部存储在fcontent这个参数中
"LB=",
"RB=",
"SEARCH=BODY",
LAST);
lr_start_transaction("下载文件");   
#设置的事务开始点
#web_url方法你可以直接编写,也可以在启动录制的时候,输入下载链接URL进行简单录制,主要注意URL和Resource这两个参数即可;
web_url("file.php",     
 #函数名,没有实际作用
"URL=http://forum.ubuntu.org.cn/download/file.php?id=129973&sid=78fc8d76767ef49b606595824ceb963d", 
   #下载链接,也就是该链接输入到浏览器会提示下载,获取方法很多;
"Resource=1",   
 #1表示是下载资源,0表示是页面资源
"RecContentType=application/octetstream",
"Referer=",
"Snapshot=t1.inf",
LAST);
flen = 
web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);//获取响应中的文件长度
if(flen > 0)
{               
//以写方式打开文件
fileContent = 
fopen(fileName, "wb");
if(fileContent == NULL) 
 #看是否正确打开了需要保存下载内容的文件,fileName是上面准备组织的文件路径;
{
lr_output_message("打开文件失败!");
return -1;
}
fwrite(lr_eval_string("{fcontent}"), 
flen, 1, fileContent);//写入文件内容
fclose(fileContent);//关闭文件
}
lr_end_transaction("下载文件",LR_AUTO);#事务结束点
return 0;
}

LoadRunner下载文件脚本的更多相关文章

  1. Loadrunner上传文件与下载文件脚本

    Loadrunner上传文件与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex( ...

  2. Loadrunner上传与下载文件脚本

    一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex("ParamName=imgRan ...

  3. LoadRunner性能测试-下载文件脚本

    Action() { intflen; //定义一个整型变量保存获得文件的大小 longfiledes; //保存文件句柄 charfile[]="\0"; //保存文件路径及文件 ...

  4. ftp自动上传下载文件脚本

    FTP自动登录批量下载文件 从ftp服务器192.168.1.60 上的/home/data 到本地的/home/databackup目录 #!/bin/bash ftp -v -n 192.168. ...

  5. LoadRunner上传及下载文件

    (1)LoadRunner上传文件 web_submit_data("importStudent.do", "Action=https://testserver/cons ...

  6. Loadrunner之文件的下载(八)

    老猪提供: https://mp.weixin.qq.com/s?__biz=MzIwOTMzNDEwNw==&mid=100000013&idx=1&sn=624f5bc74 ...

  7. 【Loadrunner】使用LoadRunner上传及下载文件

    使用LoadRunner上传及下载文件 1)LoadRunner上传文件 web_submit_data("importStudent.do", "Action=http ...

  8. 使用Loadrunner进行文件的上传和下载

    最近使用loadrunner中需要录制文件的上传和下载,上传功能模块利用录制可以直接实现,下载无法实现,在网上找到了一段代码,自己动手试验了下,发现没有用 辛苦找到的,还是记录下吧 (1)LoadRu ...

  9. 【Linux系列】-Linux中用shell脚本从SFTP服务器下载文件

    银企直连的电子回单接口中,部分银行使用sftp服务作为文件服务器,通常只保留N天的文件内容,企业未在规定的时间范围下载文件之后就不能下载了,那么有一个自动下载的脚本岂不美滋滋. Linux安装SFTP ...

随机推荐

  1. 【转】Java-----jar反编译修改重新打包

    原文链接:http://blog.csdn.net/hekewangzi/article/details/44676797 一.使用反编译工具JD-GUI(JD-GUI相关操作见Java-----反编 ...

  2. NSOJ A fairy tale of the two(最小费用最大流、SPFA版本、ZKW版本)

    n,m<=20,给两个n×m布尔矩阵,每次操作可将第一个矩阵的2个相邻元素互换.输出最少操作次数使得两个矩阵完全一样. 比赛的时候想过按照二分图完美匹配的类似做法构图,不过想到边太多以及卡各种题 ...

  3. BestCoder27 1001.Jump and Jump... (hdu 5162) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5162 题目意思:有 n 个 kid,每个 kid 有三个成绩 a, b, c.选最大的一个成绩作为这个 ...

  4. 重写Equals为什么要同时重写GetHashCode

    .NET程序员都知道,如果我们重写一个类的Equals方法而没有重写GetHashCode,则VS会提示警告 :“***”重写 Object.Equals(object o)但不重写 Object.G ...

  5. xp系统打开软件程序总是弹出警告窗口,很烦人对不,怎么办呢?进来看

    为了不浪费比较着急的朋友的的时间,先把解决方案说了,下面我在细说: 细说: 今天装了个xp的虚拟机,为了不在xp里重复装真机(win7的)里已经有的软件,就把我的工具盘共享给了虚拟机,大部分软件都可以 ...

  6. linux日常易忘指令

    1.编辑全局指令 进入~/.bash_profile 增加"exprot +(启动文件的地址)" source ~/.bash_profilr(刷新) 2.修改mysql密码 my ...

  7. php面向对象加载类、常用设计模式

    加载类: include("./Ren.class.php"); include "./Ren.class.php"; 用此方法的时候include后面要加空格 ...

  8. openssl/asn1.h file not found的解决方法

    iOS 引入支付宝 缺少 #include <openssl/asn1.h>  报错     解决方法: 在 Building Settings -> Search Paths -& ...

  9. 第K 小数

    [问题描述]有两个正整数数列,元素个数分别为N和M.从两个数列中分别任取一个数相乘,这样一共可以得到N*M个数,询问这N*M个数中第K小数是多少.[输入格式]输入文件名为number.in.输入文件包 ...

  10. 自定义UIDatePikerView

    1.添加文件GoYearMonthDayPickerView.h .m .xib.NSDate+Helper.h .m.iCarousel.h .m 2.在Lable上显示日期 UILabel *ag ...