LoadRunner测试下载功能点脚本(方法一)
性能需求:对系统某页面中,点击下载功能做并发测试,以获取在并发下载文件的情况下系统的性能指标。
备注:页面上点击下载时的文件可以是word、excel、pdf等。
问题1:录制完下载的场景后,发现脚本里面并没有包含下载的脚本或url?
解决步骤:
1. 在IE浏览器上打开需要测试功点的页面,点击下载链接前启用httpWatch录制下载功能点,然后查看Stream下面服务器返回的响应信息,一个HTTP响应代表服务器向客户端回送的数据,它包括:
一个状态行、若干消息头、以及实体内容 ,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
如图:只需要关注服务器响应的content-type=application/octet-stream

2. 设置LoadRunner录制选项-HTTP属性-高级-非资源,在里面添加非资源内容类型:application/octet-stream ,如图:

3. 添加完后,再次重新录制脚本,在脚本里面就会有mod=attachment&参数的url请求,脚本代码如下:
download()
{
lr_think_time(); lr_start_transaction("download"); web_url("forum.php_5",
"URL=http://127.0.0.1/Discuz/upload/forum.php?mod=attachment&aid=M3wxMTZiMzFhOXwxNDQzODQ0ODc2fDN8NA%3D%3D",
"Resource=0",
"RecContentType=application/octet-stream",
"Referer=http://127.0.0.1/Discuz/upload/forum.php?mod=viewthread&tid=4&extra=page%3D1",
"Snapshot=t6.inf",
"Mode=HTML",
LAST); lr_end_transaction("download",LR_AUTO); return ;
}
此时,录制下载的脚本有了,但是LoadRunner回放运行脚本后,并没有像手工操作那样真实的把文件下载下来,为什么?
测试场景分析:一般我们手工在页面上点击下载链接时,浏览器会弹出下载保存框,下载并保存到本地电脑里面,而使用LoadRunner录制这种场景时,是不会录制到浏览器弹出下载保存框并保存到本地电脑的步骤的,当点击某个下载文件链接时,LoadRunner录制的脚本里面只会以web_url()函数模拟发送下载的请求,服务器响应直接返回需要下载文件里面的内容,这是通过content-type=application/octet-stream来决定的。所以,LoadRunner在回放脚本的时候,其实已经对服务器产生下载功能的效果了。
问题2:当设置LoadRunner常规选项-显示-勾选show browser during replay时,回放运行脚本,运行时查看器的窗口会弹出下载并保存的提示框,如何解决?
如图:

问题分析:
1、 运行回放下载功能脚本出现此提示的原因是服务器响应返回的只有二进制文件,并且content-type=application/octet-stream才会产生,文本文件不会出现;查看快照如图:

2、 保存的文件格式是UNK,其实保存在本地电脑上,重命名下载文件的格式后,再打开该文件,会发现文件内容就是下载的文件;
3、 不保存或者取消弹出的UNK文件窗口,再次运行vugen时会提示“default result directory is locked”;
解决方法:
把去掉勾选“show browser during replay”即可。
LoadRunner测试下载功能点脚本(方法一)的更多相关文章
- LoadRunner测试下载功能点脚本(方法二)
在上一篇<LoadRunner下载功能点脚本(方法一)>中,实现的脚本仅是录制下载功能点的脚本,现在性能需求的场景更改如下: 性能需求:对系统某页面中,点击下载并将下载文件保存到本地电脑的 ...
- 06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
06_Linux基础-NGINX和浏览器.网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本 一 ...
- 【WPF/C#】测试下载文件(图片)
需求:界面上有一个按钮,点击后联网下载一张PNG图片,保存到本地指定路径. 重要参考: http://stackoverflow.com/questions/24797485/how-to-downl ...
- Robot Framework测试框架用例脚本设计方法
Robot Framework介绍 Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储.通过测试库中实现的关键字驱动 ...
- LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
1.QTP11 下载地址:http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11 ...
- Java工作流引擎的测试容器-功能-使用方法-注意事项
工作流引擎的测试容器-功能-使用方法-注意事项 关键字 Ccbpm, ccflow,jflow,工作流引擎,工作流引擎测试容器,表单引擎 功能说明 工作流的测试容器是为了解决手工模拟人工登录模式下测试 ...
- LoadRunner测试问题
1.关于Error -27791: Error -27790:Error -27740: 错误如下: Action.c(198): Error -27791: Server has shut down ...
- 软件测试_Loadrunner_APP测试_性能测试_脚本录制_基本操作流程
这次主要是写一下使用Loadrunner对APP进行性能测试的基本流程,有关性能测试监控指标请查看链接:软件测试_性能测试_关注点. 先决条件:已安装Loadrunner.如未安装,请查看链接:软件测 ...
- LoadRunner测试流程
使用LoadRunner 完成测试一般分为四个步骤: 2 Vvitrual User Generator 创建脚本 创建脚本,选择协议 录制脚本 编辑脚本 检查修改脚本是否有误 3 中央控制器(Con ...
随机推荐
- HTML5 为什么这么火?
H5是超文本语言HTML的第五次修订,是近几年来Web标准巨大的飞跃. 以往,我们在Web上还只是上网看一些基础文档,但现在,Web是一个内涵非常丰富的平台.和以前版本不同的是,HTML5并非仅仅用来 ...
- Linux最小化安装后配置网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0HWADDR=00:0C:29:DD:AD:B9TYPE=EthernetUUID=d7 ...
- vsftpd安装、多用户配置
1.vsftpd安装 rpm -ivh vsftpd 2.2.2 11.el6_4.1.x86_x64.rpm 2.添加ftp用户 添加ftp用户组 groupadd ftpg 添加ftp用户 use ...
- Linux下的静态IP配置【weber出品】
配置Linux下的静态IP地址 因为服务器的IP地址是固定的,不像我们自己家的笔记本的IP是动态的.所以我们要将这个地址给写成静态的. 直接编辑这个这个配置文件即可: vi /etc/sysconfi ...
- .NET MVC通过反射获取数据修改历史记录,并插入数据表中
本文属于原创,转载时请标明出处! 折磨了我一个晚上的问题,奈何对物理的反射印象太深了,整天去想着物理的反射.折射怎么解.感谢少将哥哥给我的指点,经过一个晚上对反射的恶补,最终搞定了.纪念一下. 1.核 ...
- node.js 上传文件
在工作中碰到了这样的需求,需要用nodejs 来上传文件,之前也只是知道怎么通过浏览器来上传文件, 用nodejs的话, 相当于模拟浏览器的行为. google 了一番之后, 明白了浏览器无非就 ...
- (四)JS学习笔记 - 模式 - 观察者模式
理解观察者模式 简单的讲,一个对象作为特定任务或是另一对象的活动的观察者,并且在这个任务或活动发生时,利用事件的形式通知观察者. 观察者的使用场合 当一个对象的改变需要同时改变其它对象,并且它不知道具 ...
- defer和async
1.decument.wirte不能使用 2.<script src="text.js" type="text/javascript" defer=&qu ...
- GDI相关基础知识
原文链接:http://blog.csdn.net/poem_qianmo/article/details/7333886 GDI(Graphics Device Interface) 图形设备接口, ...
- 3月23日html(五) 格式与布局练习:360浏览器布局
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...