LoadRunner测试下载功能点脚本(方法二)

在上一篇《LoadRunner下载功能点脚本(方法一)》中,实现的脚本仅是录制下载功能点的脚本,现在性能需求的场景更改如下:

性能需求:对系统某页面中,点击下载并将下载文件保存到本地电脑的功能做并发测试,以获取在并发下载文件的情况下系统的性能指标。

我们知道,LoadRunner录制的脚本是根据协议启用代理模拟浏览器发送请求,记录对服务器响应的相关数据,因此,保存下载文件需要手动编写代码插入在下载脚本前后。

代码如下:

download()
{
    //文件大小
    int flen;
    //响应数据内容大小
    long  filedes;
    //文件名
    char filename[1024];

    //设置页面接受最大的字节数,该设置应大于下载文件的大小
    web_set_max_html_param_len("1024000"); 

    //将响应信息存放到fcontent变量
    web_reg_save_param("fcontent",
        "LB=",
        "RB=",
        "Ord=1",
        "Search=Body",
         LAST);

    lr_think_time(3);

    lr_start_transaction("download");

    web_url("forum.php_6",
        "URL=http://127.0.0.1/Discuz/upload/forum.php?mod=attachment&aid=M3xlZDM3YzJhMXwxNDQzODQxMjI3fDN8NA%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=t7.inf",
        "Mode=HTML",
        LAST);

    lr_end_transaction("download",LR_AUTO);

    //获取响应的全部内容,作为文件内容保存
    flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

    //生成随机的文件名称,便于并发
    strcpy(filename,"d:\\test\\邮购订单_");
    strcat(filename,lr_eval_string("{Num}"));
    strcat(filename,".PDF");

    if(flen > 0){
        //以写方式打开文件
        if((filedes = fopen(filename, "wb")) == NULL){
            lr_output_message("Open File Failed!");
            return -1;
        }
        //写入文件内容
        fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
        //关闭文件
        fclose(filedes);
    }

    return 0;
}

此时,回放脚本后,发现在本地电脑D:\test目录下生成下载文件,如图:

时间: 2024-10-11 19:46:42

LoadRunner测试下载功能点脚本(方法二)的相关文章

LoadRunner测试下载功能点脚本(方法一)

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

LoadRunner测试webservice接口性能

用LoadRunner测试接口性能 方法一:通过wsdl地址调用接口 1.打开LoadRunner点击左上角选择新建脚本,在弹出窗口中选择web service协议,然后点击create按钮 2.点击 Manager services(注意:点击前右侧窗口脚本的光标必须在“return():”之前),在弹出窗口中点击Import,在弹出窗口内选择“url”并填入要测试接口对应的地址,在地址的后面加上“?wsdl”,然后点击Import 3.导入url成功后会有相应的信息出现,然后点击“ok” 4

Robot Framework测试框架用例脚本设计方法

Robot Framework介绍 Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储.通过测试库中实现的关键字驱动被测软件.    Robot Framework灵活且易于扩展.它非常适合测试有不同接口的复杂软件:用户接口.命令行,Web服务,专有的编程接口等. Robot Framework是开源软件,通用的测试库源码安装包和文档等可通过http://robotframework.org获取.Robot Fr

LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法

LoadRunner测试ajax框架的系统时,录制回放都没有报错,但是回放后系统中没有产生数据,数据始终不能写入数据库.查了一下原因,应该是录制的脚本不完善的问题,因为JS是在客户端执行的程序,LR只能监控客户机与服务器之前的通信. 解决方法: Recording options> HTTP Properites> Advanced > Headers: 选择"Record headers not in list", 然后点ok. 重新录制一遍脚本,会发现脚本里多出一

java-第十四章-代参的方法(二)-实现MyShopping系统的添加会员功能

 package com.wxws.sms; public class Customer {  int No;  int integarl; } package com.wxws.sms; public class Customers {  Customer[] customers = new Customer[100];  public void add(Customer cust){   for (int i = 0; i <customers.length; i++) {    if (c

Dotfuscator使用方法免费下载功能说明最强C#代码混淆工具

Dotfuscator专业版是一个.NET混淆器和压缩器,它可以帮助您防止您的应用程序被反编译.同时,它还以可以使得您的应用程序更加小巧以及高效. 具体功能:先进的.NET代码安全技术:  命名空间(Namespace)/类型(Type)/方法(Method)/字段(Field)重命名使用我们拥有专利的Overload-Induction TM重命名系统.具有强大的"超载感应"功能. 控制流混淆-使用本产品,即使是当前最好的反编译器也无法得到有用的输出. 字符串加密. 几个预定义的包含

asp.net实现网站上传下载功能的几种方法

能实现网站下载的功能语言都是动态语言,除了asp.net,还有php,jsp等,这里以asp.net为例. 这种可以实现多种网站下载功能, 代码如下: //TransmitFile实现下载    protected void Button1_Click(object sender, EventArgs e)     { Response.ContentType = "application/x-zip-compressed";         Response.AddHeader(&q

基于LoadRunner测试AEAI Portal

1  概述 本文采用LoadRunner11来测试 AEAIPortal门户登录.两个数据分析功能的页面加载,以此来阐述LoadRunner基本使用方法,同时掌握单机运行环境下AEAI Portal的常规页面加载性能参数. 2  工具介绍 2.1  基本介绍 LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具,通过模拟多并发用户实时并发负载及实时性能监测的方式来确认和查找问题. 本文安装的是LoadRuner11,从菜单上看,如下图,LoadRunner的核心应用(组件)主要

loadrunner测试TCP协议服务器性能

最近对服务器的性能感兴趣,于是开始研究了一阵子loadrunner如何做采用TCP协议交互的服务器的性能测试,对loadrunner不是很熟悉,所以一开始也走了一些弯路,现将学习的过程记录下来,为以后做参考吧. TCP协议的服务器的性能测试,我想大家都会选择loadrunner的winsocket协议进行测试,我也是采用此种方式.下面将逐一记录如何使用此协议做性能测试. 1.采用DLL文件方式进行测试 由于与服务器连接的客户端的DLL文件我手头有,同时其对应的头文件也有,所以一开始试想的是采用l