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. [转]Android 学习资料分享(2015 版)

    转 Android 学习资料分享(2015 版) 原文地址:http://www.jianshu.com/p/874ff12a4c01 目录[-] 我是如何自学Android,资料分享(2015 版) ...

  2. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

    默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...

  3. nyoj20_吝啬的国度_DFS

    吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市, ...

  4. hiho一下第一周 最长回文子串

    题目链接:http://hihocoder.com/contest/hiho1/problem/1 #include <iostream> #include <cstdio> ...

  5. BestCoder19 1001.Alexandra and Prime Numbers(hdu 5108) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5108 题目意思:给出一个数正整数 N,N <= 1e9,现在需要找出一个最少的正整数 M,使得 ...

  6. 【编程题目】查找最小的 k 个元素

    5.查找最小的 k 个元素(数组)题目:输入 n 个整数,输出其中最小的 k 个.例如输入 1,2,3,4,5,6,7 和 8 这 8 个数字,则最小的 4 个数字为 1,2,3 和 4. 算法里面学 ...

  7. IOS-01零碎知识总结

    1. 变量的@public @private @package @protected 声明有什么含义? @public  可以被所有的类访问 @private  只有该类的方法可以访问,子类的都不能访 ...

  8. Jmeter 函数

    一._csvRead 函数 _cvsRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数. 步骤: 1.先新建一个文件,例如c.txt,里面的数据存放为 web@qq.com, ...

  9. MVC - 16.MVC过滤器

          filter n. 滤波器:[化工] 过滤器:筛选:滤光器 vt. 过滤:渗透:用过滤法除去   1.过滤器表   过滤器类型 接口 默认实现 描述 Action IActionFilte ...

  10. Python 与 C# lambda表达式比较

    Python里到lambda表达式非常简约, lam =lambda a: a*2 --> lam(3) 6 在某些情况下确实挺好用到.但是相比C#到lambda表达式,还是不够强大(我不是在黑 ...