wwwux 发表于 2009-10-15 18:05:22

FTP协议下载和上传学习记录

一.      搭建测试环境
1.服务器端:在windows2003上建立FTP站点(具体操作类似IISWEB服务器)
1.客户端:如FileZilla,FlashFXP
二.      录制测试脚本
1.选取协议 File Transfer Protocol (FTP)
2.进行上传和下载脚本录制
三.      开发测试脚本
1.下载脚本开发:
Action()
{
        ftp1 = 0;
        ftp_logon_ex(&ftp1, "FtpLogon",
                "URL=ftp://anonymous:flashfxp-user@flashfxp.com@172.29.129.159",
                LAST);//ftp登录函数,参数URL后面显示登录的信息,格式A(用户名):B(密码)@C(IP地址):D(端口)。这里如果有需要,可以对用户名和密码进行参数化,我这里设置的是匿名登录。)

        ftp_dir_ex(&ftp1, "FtpDir",
                "PATH=-al", "PASSIVE=TRUE", ENDITEM,
                LAST);//获取资源路径

        lr_think_time(6);

        lr_start_transaction("get");

        /*原脚本(需要进行修改)ftp_get_ex(&ftp1, "FtpGet",
                "SOURCE_PATH=SMS安装包/SMSSetupV0.02.rar", "PASSIVE=TRUE", ENDITEM,
                LAST);通过回放脚本会发现(先删除文件再回放),文件并未保存在本地磁盘上。因为录制的时候并没有录制到保存的路径,这里需要自己添加TARGET_PATH 函数*/
        ftp_get_ex(&ftp1, "FtpGet",
                "SOURCE_PATH=SMS安装包/SMSSetupV0.02.rar", "TARGET_PATH=f:/ftp/1/{name}.rar", "PASSIVE=TRUE",ENDITEM,
                LAST);//把下载的文件保存在本地磁盘中,使用函数:TARGET_PATH=f:/ftp/1/test.rar,为了能并发保存,这里对文件名进行时间参数化确保文件名不重,复位数根据需要如%Y%m%d%H%M%S.000。
        lr_end_transaction("get", LR_AUTO);
        ftp_logout_ex(&ftp1);//ftp注销函数
        return 0;
}
2.上传脚本开发:
Action()
{
        ftp1 = 0;
        ftp_logon_ex(&ftp1, "FtpLogon",
                "URL=ftp://anonymous:flashfxp-user@flashfxp.com@172.29.129.159",
                LAST); //ftp登录函数,参数URL后面显示登录的信息,格式A(用户名):B(密码)@C(IP地址):D(端口)。这里如果有需要,可以对用户名和密码进行参数化,我这里设置的是匿名登录。)
        ftp_dir_ex(&ftp1, "FtpDir",
                "PATH=-al", "PASSIVE=TRUE", ENDITEM,
                LAST);//获取资源路径
        lr_think_time(8);
        lr_start_transaction("put");
        /*原函数(需要进行修改)ftp_put_ex(&ftp1, "FtpPut",
                "SOURCE_PATH=ftpfile_1.dat", "TARGET_PATH=160451.485.rar", "PASSIVE="
                "TRUE", ENDITEM,
                LAST);*/
        ftp_put_ex(&ftp1, "FtpPut",
                "SOURCE_PATH=f:/ftp/160451.485.rar", "TARGET_PATH={NewParam}.rar", "PASSIVE=TRUE", ENDITEM,
                LAST);//SOURCE_PATH后面修改成你需要上传的本地文件路径;TARGET_PATH后面修改成按时间生成的文件名,为防止多次或并发上传的文件名重复,对上传到ftp服务器的文件名进行参数化命名,位数根据需要如%Y%m%d%H%M%S.000。
        ftp_dir_ex(&ftp1, "FtpDir",
                "PATH=-al", "PASSIVE=TRUE", ENDITEM,
                LAST);
        lr_end_transaction("put",LR_AUTO);
        ftp_logout_ex(&ftp1);//ftp注销函数
        return 0;
}
注意:
1.在并发测试的时候要关注FTP服务器设置的最大连接数。
2.压力测试之后没有吞吐量和点击率的数据,取而代之的是network client
3.做性能测试的时候要看一下你的license是否是golba,如果不是会出现:You do not have a license for this Vuser type.Please contact HP Software to renew your license.的错误。

cyanj 发表于 2010-5-16 15:28:49

好东西,受益了,多谢楼主

ibossyu 发表于 2011-8-7 23:08:44

写得不错,顶一下
页: [1]
查看完整版本: FTP协议下载和上传学习记录