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

  • 相关阅读:
    vue中路由跳转传递参数
    父组件向子孙组件传递数据provide/inject
    微信、QQ等内置浏览器定位失败
    Java ArrayList类
    java 生成 [1, n] 之间的随机数
    Java 构造方法
    Java this关键字
    Java private关键字及作用
    Java 随笔
    Java 内存划分
  • 原文地址:https://www.cnblogs.com/luihengk/p/4854317.html
Copyright © 2020-2023  润新知