51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5628|回复: 2
打印 上一主题 下一主题

[原创] FTP协议下载和上传学习记录

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-10-15 18:05:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一.        搭建测试环境
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@[email]flashfxp.com@172.29.129.159[/email]",
                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@[email]flashfxp.com@172.29.129.159[/email]",
                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.的错误。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-5-16 15:28:49 | 只看该作者
好东西,受益了,多谢楼主
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-8-7 23:08:44 | 只看该作者
写得不错,顶一下
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-5 16:32 , Processed in 0.075623 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表