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目录下生成下载文件,如图:

类似文章: http://blog.51cto.com/xqtesting/1742093

转载于:https://www.cnblogs.com/yunman/p/7889728.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值