编写loadrunner的ftp脚本(详细步骤)
大家好,主要给大家讲解编写loadrunner的ftp脚本详细步骤,及FTP函数注释,及FTP脚本两种编写方式,手动和录制。亲测 No problem!^_^
1、首先要了解loadrunner中几个FTP函数
在loadrunner联机帮助文档的索引中,输入FTP,此时你会看到不下50个与ftp有关的函数,想了一下为了解决使用FTP文件上传这个问题,只需要一下几个步骤就可以了:
注意:每个FTP函数都是以ftp前缀开头的。多数的ftp函数都会成对出现(一个事用于全局的会话,一个事用户指定邮件回话)。它们之间的差别是,全局的没有_ex后缀,特定会话的有_ex后缀。
第一、 与ftp服务器建立连接
第二、 传输文件
第三、 关闭连接
所以我现在只需要关注与这三个步骤有关的函数就可以了。
经过挑选终于找到了一下几个函数:
|
函数 |
描述 |
|
ftp_logon[_ex] |
登录到FTP服务器 |
|
ftp_logout[_ex] |
注销FTP服务器 |
|
ftp_dir[_ex] |
在FTP上执行dir命令 |
|
ftp_get[_ex] |
从FTP上获取文件 |
|
ftp_get_last_error |
检索从FTP服务器接收到的最后一个错误 |
|
ftp_get_last_error_id |
检索从FTP服务器接受到的最后一个错误的ID |
|
ftp_mkdir[_ex] |
在ftp服务器上创建目录 |
|
ftp_put[_ex] |
将文件放到FTP服务器上 |
|
ftp_rendir[_ex] |
重命名FTP服务器上的目录 |
|
ftp_rmdir[_ex] |
删除FTP服务器计算机上的目录 |
|
ftp_delete[_ex] |
从FTP上删除文件 |
第一、 与ftp服务器建立连接的函数
ftp_logon_ex (FTP *ppftp, char *transaction, char *url, LAST);
这个函数主要的功能是建立与ftp服务器的连接,其中的参数含义如下:
Transaction:为这个连接起一个名字,在这里随便起
url:ftp://username:password@mailserver:port,指定连接用户名、密码、服务器地址、端口
第二、 传输文件的函数
ftp_put_ex (FTP *ppftp, char *transaction, char *item_list, LAST);
这个函数主要的功能是指定把本地的某个文件上传到服务器的某个目录下
transaction:为这个操作起一个名字,在这里随便起
item_list:其中包括
SOURCE_PATH,指定本地上传文件的路径
TARGET_PATH制定要上传到服务器的路径
ENDITEM - Marks the end of the list.(不好翻译呵呵)
第三、 关闭连接的函数
ftp_logout_ex (FTP *ppftp);
这个函数的主要功能是断开FTP链接
1.1、 模拟文件上传过程(手动编写)
知道了上面的函数我们把代码写一下:
Action()
{
unsigned long *ftp_session=NULL;
double duration,lSize,lDur;
ftp_logon_ex(&ftp_session,"ftp_logon","URL=ftp://ftpuser:ftpuser@192.168.0.1:21",LAST);
ftp_put_ex(&ftp_session, "Ftp_Put",
"SOURCE_PATH=d:/test.txt",
"TARGET_PATH=/ftptest/test.txt",
ENDITEM,
LAST);
// 取得下载持续时间
duration= ftp_get_last_transfer_duration_ex(&ftp_session);
// 输出下载持续时间
lr_output_message("Get_Small_File Transfer took %.3f milliseconds", duration);
//Action.c(35): Get_Small_File Transfer took 10.000 milliseconds
// 取得下载的详细信息
ftp_get_last_download_details_ex(&ftp_session, &lSize, &lDur);
// 输出下载的详细信息
lr_output_message("Get_Small_File Download of %d bytes took %d milliseconds", lSize, lDur);
//Action.c(39): Get_Small_File Download of 4307 bytes took 180 milliseconds
//释放FTP连接
ftp_logout_ex(&ftp_session);
return 0;
}
运行一次,发现d:\test.txt文件已经成功上传到FTP服务器/ftptest/目录下,OK大功告成!
注意:若上传文件到linux服务器上,“TARGET_PATH”目标路径为全路径。
好了,基本的结构写出来了,执行脚本,发现可以把指定的文件上传到制定的目录下了,接下来就根据自己实际需要强化脚本就可以了,参数化上传文件、加入事务、集合点,监测上传文件的时间和服务器的性能,强化脚本在这里就不多说了。
在这个过程中遇到的问题:
1)在声明ftp连接句柄时,我看网上的一些资料中介绍声明称FTP ftp1 = 0 ;但是这样写会出现语法错误,当我把它修改成unsigned long *ftp_session=NULL;后就没有问题了,其中原因不明。
1.2 录制FTP上传文件
1)同http协议类似,地址例如:ftp://172.31.27.2:21。
2) 单击Option、点击Tools->Recording Options或者在工具栏点击图标,打开“Recording Options”对话框,便可开始设置录制选项。

3)对于FTP协议脚本的录制,如果不对端口映射进行限制,很容易造成录制的脚本为空。因此,在进行脚本录制之前,我们要进行FTP协议的端口映射。将Network-level server address mappings for设置为FTP,单击“New Entry”,在弹出的“Server Wntry”对话框中将Target Server设置为“172.31.27.2”(FTP服务器的IP地址),Service ID设置为FTP,端口Port设置为Any(因为FTP协议涉及多个端口)。

4)登录172.31.27.2这个FTP服务器,执行上传文件的操作,然后退出,完成脚本的录制。

4)回放PASS,根据需求,增加脚本,完成。
ENDing...
编写loadrunner的ftp脚本(详细步骤)的更多相关文章
- Linux安装ftp服务-详细步骤
最近项目中用到了FTP服务器,于是整理了一份在Linux服务器上安装FTP的详细步骤供大家分享. 1.首先连接上自己的Linux服务器.我的Linux是CentOS 6 2.检查Linux服务器上是否 ...
- 在win7上建立本地FTP站点详细步骤
一.安装FTP组件点击:控制面板—>程序和功能—>打开或关闭Windows功能. 勾选“FTP服务器”及“FTP服务”“FTP扩展性”,点击“确定”,安装FTP组件. 勾选Web管理工具的 ...
- Linux-Centos 用crontab定时运行python脚本详细步骤
服务器总是要定时运行某个程序,而我在解决这个问题的时候遇到很多困难, 特此记录下来. 1.编辑crontab配置 crontab -e 服务器一般会安装好crontab,若没有安装请按命令安装 yum ...
- 编写自己的Acunetix WVS漏洞扫描脚本详细教程
AWVS提供了自定义的脚本编程接口,可是网上的资料很少,只有官方的几篇介绍和参考手册,最近研究了一下怎么编写AWVS的漏洞脚本来写一篇简单性的文章 本文以8.0为例,首先呢安装好Acunetix We ...
- Linux Makefile文件编写详细步骤与实践
Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会 ...
- python编写shell脚本详细讲解
python编写shell脚本详细讲解 那,python可以做shell脚本吗? 首先介绍一个函数: os.system(command) 这个函数可以调用shell运行命令行command并且返回它 ...
- loadrunner 接口性能脚本编写(Get请求和Post请求)
前段时间接触了一下loadrunner的接口性能测试,然后尝试了一下手动编写脚本,毕竟录制这种东西,不是每次都能通的,而且录制下来的脚本,通常是有很多其他杂七杂八的请求夹杂在中间,没有达到真正的压测接 ...
- Loadrunner之HTTP脚本编写
Loadrunner之HTTP脚本编写 刚学习性能测试的时候还是建议以录制脚本为好,从录制的脚本中去了解脚本结构,各个函数的用法,慢慢再去尝试自己去编写脚本,如果想往技术方向发展,建议最好学习一门编程 ...
- loadrunner学习系列---脚本编写(2)
loadrunner学习系列---脚本编写(2) 今天接着翻译http://www.wilsonmar.com/1lrscrīpt.htm上面关于LR脚本编写部分. VUser_Init部分 这里是V ...
随机推荐
- twemproxy架构分析——剖析twemproxy代码前编
twemproxy背景 在业务量剧增的今天,单台高速缓存服务器已经无法满足业务的需求, 而相较于大容量SSD数据存储方案,缓存具备速度和成本优势,但也存在数据安全性的挑战.为此搭建一个高速缓存服务器集 ...
- 1-5设定NetCore监听端口
问题的起源:启动一个.netCore项目,默认使用的是5000端口,当我们有很多个项目的时候(集群),不可能都使用5000端口. 方法1:set ASPNETCORE_URLS=http://127. ...
- Leetcode 122 Best Time to Buy and Sell Stock II 贪心
用一个数组表示股票每天的价格,数组的第i个数表示股票在第i天的价格.交易次数不限,但一次只能交易一支股票,也就是说手上最多只能持有一支股票,求最大收益. 关键:能赚就赚 class Solution ...
- <PC>HP网络共享并创建一个热点问题
郁闷了一年多 你不能使用本地连接的开放热点 网上说的网卡驱动程序,系统设置等.,我们解决不了 原本BIOS节能设置错误 导致在连续主动对自己的有线无线功能被禁用 该LAN\WLAN Switchin ...
- QT实现鼠标钩子(使用SetWindowsHookEx安装mouseProc函数)
HHOOK mouseHook=NULL; LRESULT CALLBACK mouseProc(int nCode,WPARAM wParam,LPARAM lParam ) { if(nCode ...
- jquery mobile 笔记
1.navbar 相关 <nav data-role="navbar"> <ul> <li><a href="# ...
- nuget包发布
创建项目 需要选择.net Standard的项目 0 设置包信息 1 打包 2 在bin目录下可以看到生成的.nupkg文件 3 发布包 登录https://www.nuget.or ...
- Visifire charts AxisLabels FontSize
<charts:Chart.AxesX> <charts:Axis LineThickness="0.25" > <charts:Axis.AxisL ...
- WPF 4 开发Windows 7 跳转列表(JumpList)
原文:WPF 4 开发Windows 7 跳转列表(JumpList) 在之前写过的<Windows 7 任务栏开发系列>中我们通过Visual Studio 2008 借助微软 ...
- 海洋cms 模板标签手册
海洋cms采用极其简单易用的模板技术,所有标签直接调用接口,无需复杂的编码技术,让你对界面设计得心应手,请认真阅读本文档,妥善收藏. ========= 目录 =========00.相关必要说明01 ...