loadrunner 上传下载

转http://blog.163.com/yings_9371/blog/static/66196922010711115545137/

(1)LoadRunner上传文件

web_submit_data("importStudent.do",

"Action=https://testserver/console/importStudent.do",

"Method=POST",

"EncType=multipart/form-data",

"RecContentType=text/html",

"Referer=https://testserver/console/displayStudentList.do",

"Snapshot=t12.inf",

"Mode=HTTP",

ITEMDATA,

"Name=uploadFile", "Value=D:\\Excel\\data161955.zip", "File=yes", ENDITEM,

LAST);

注:脚本录制使用Http/Html协议或Click and Script协议均可,以上是使用Http/Html录制的的脚本。需要特别注意的是,无论使用哪种协议录制,待上传的文件路径及文件名称只能为英文字符,而不能为中文字符。否则,可能将文件上传的二进制流同时录制到LR的脚本中。

这个问题同时也说明,LR对中文的支持还远不够。

下面是该应用更详细的示例。

Action()

{

//定义double类型的变量trans_time,用来保存事务的执行时间。

double trans_time;

//定义int类型的变量status,用来保存事务执行的返回的值。

int status;

lr_start_transaction("测试");

//使用内置函数lr_get_transaction_duration获取事务的执行时间。

trans_time=lr_get_transaction_duration("测试");

status=     web_submit_data("importStudent.do",

"Action=https://testserver/console/importStudent.do",

"Method=POST",

"EncType=multipart/form-data",

"RecContentType=text/html",

"Referer=https://testserver/console/displayStudentList.do",

"Snapshot=t12.inf",

"Mode=HTTP",

ITEMDATA,

"Name=uploadFile", "Value=E:\\datafile\\data01.zip", "File=yes", ENDITEM,

LAST);

//增加手工事务,如果该测试事务执行返回值为0,则事务执行成功,否则执行失败。

if (status == 0)

lr_end_transaction("测试", LR_PASS);

else

lr_end_transaction("测试", LR_FAIL);

//打印事务执行时间。

if (trans_time)

lr_output_message("事务执行时间为:%f 秒",trans_time);

else

lr_output_message("事务执行时间未知!");

return 0;

}

以下是LR的帮助文档中的web_submit_data函数的一个应用示例,从该示例中也可见一斑。

web_submit_data("Attachments",

"Action=http://[email protected]/Attachments?YY=45434",

"Method=POST",

"EncType=multipart/form–data",

"TargetFrame=",

"RecContentType=text/html",

"Referer=http:///[email protected]/Compose?YY=20435",

"Snapshot=t5.inf",

"Mode=HTML",

ITEMDATA,

"Name=userFile0",

"Value=E:\\sense_sensibility\\Elinor.txt",

"File=yes",

"ContentType=text/html", // Override default "text/plain" for .txt files

ENDITEM,

"Name=userFile1",

"Value=E:\\sense_sensibility\\Marianne.jpg",

"File=yes",

ENDITEM,

LAST);

(2)LoadRunner下载文件

Action()

{

/*下载帮助文档*/

//定义一个整型变量保存获得文件的大小

int flen;

//保存文件句柄

long filedes;

//保存文件路径及文件名

char file[256]="\0";

//定义一个随机数

char * strNumber;

//Returns the string argument after evaluating embedded parameters.

strNumber=lr_eval_string("{RandomNum}");

//将路径保存到file变量中

strcat(file,"D:\\Excel\\");

//将获得的随机数拼接在file变量之后

strcat(file,strNumber);

//将下载的文件后缀名.rar拼接在file变量之后

strcat(file,".rar");

//到此为止一个LoadRunner已经获得了一个完整的文件名

//设置参数的最大长度,注意该值必须大于文件的大小

web_set_max_html_param_len("20000");

//使用关联函数获取下载文件的内容,在这里不定义左右边界,获得服务器响应的所有内容

web_reg_save_param("fcontent",

"LB=",

"RB=",

"SEARCH=BODY",

LAST);

/*下载帮助文件*/

lr_start_transaction("下载帮助文件");

//发送下载帮助文件的请求

web_url("DownLoadServlet",

"URL=https://testserver3/servlet/DownLoadServlet?filename=help",

"Resource=1",

"RecContentType=application/x-msdownload",

"Referer=",

"Snapshot=t41.inf",

LAST);

//获取响应中的文件长度

flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

if(flen > 0)

{

//以写方式打开文件

if((filedes = fopen(file, "wb")) == NULL)

{

lr_output_message("打开文件失败!");

return -1;

}

//写入文件内容

fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);

//关闭文件

fclose(filedes);

}

lr_end_transaction("下载帮助文件",LR_AUTO);

return 0;

}

时间: 2025-01-05 00:15:42

loadrunner 上传下载的相关文章

LOADRUNNER上传及下载文件

(1)LoadRunner上传文件 web_submit_data("importStudent.do", "Action=https://testserver/console/importStudent.do", "Method=POST", "EncType=multipart/form-data", "RecContentType=text/html", "Referer=https://t

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

Loadrunner上传与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex("ParamName=imgRandName", "LB=\"sourceImgPath\":\"upload\\/cropzoomimg\\/", "RB=\"}", LAST); uploadImgStatus

Loadrunner上传文件解决办法(大文件)

Loadrunner上传文件解决办法(大文件) 最近再做一个跟海量存储相关的项目测试,需要通过LR模拟用户大量上传和下载文件,请求是Rest或Soap,同时还要模拟多种大小尺寸不一的文件 通常情况下,都是使用简单的post协议即可: 方法一: web_submit_data("importStudent.do", "Action=https://testserver/console/importStudent.do", "Method=POST"

python之实现ftp上传下载代码(含错误处理)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之实现ftp上传下载代码(含错误处理) #http://www.cnblogs.com/kaituorensheng/p/4480512.html#_label2 import ftplib import socket import os def ftpconnect(ftp_info): try: ftp = ftplib.FTP(ftp_info[0]) except (socket.er

用struts2实现文件的上传下载

在做B/S系统时经常会有文件上传下载的需求,现就基于struts2框架实现其功能 Struts2框架默认采用Commons-fileupload组件完成文件上传功能.? 使用Struts2框架实现文件上传功能,只需在Action中定义一个java.io.File类型的成员并为之设立setter方法,方法名要和参数名对应.? 客户端上传的文件, Struts2框架会自动将其保存在临时文件中,封装成java.io.File类对象.如果还想得到上传的文件名和文件类型,需按照如下命名规则在Action中

Hadoop之HDFS原理及文件上传下载源码分析(上)

HDFS原理 首先说明下,hadoop的各种搭建方式不再介绍,相信各位玩hadoop的同学随便都能搭出来. 楼主的环境: 操作系统:Ubuntu 15.10 hadoop版本:2.7.3 HA:否(随便搭了个伪分布式) 文件上传 下图描述了Client向HDFS上传一个200M大小的日志文件的大致过程: 首先,Client发起文件上传请求,即通过RPC与NameNode建立通讯. NameNode与各DataNode使用心跳机制来获取DataNode信息.NameNode收到Client请求后,

SFTP上传下载文件

secureCRT SFTP上传/下载文件 远程登陆IP secureCRT会话中点击SFTP 3.cd  /home/dowload       linux平台切换到/home/dowload目录 4.cd d:\   windows平台切换到d盘 5.put 文件名           上传 /home/dowload目录下 6.get 文件名   下载文件到windows平台 d盘

sercurityCRT 上传下载文件

[安装rz sz 命令] 在linux下安装rz很方便,使用yum install lrzsz [设置上传下载地址] [执行下载命令] [上传文件] 点击ok完成上传

java web 文件上传下载

文件上传下载案例: 首先是此案例工程的目录结构: 处理上传: FileUploadServlet.java 1 package fnz.fileUploadTest; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.PrintWriter; 7 import java.text.SimpleDateFormat; 8 import java.