IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    LoadRunner测试下载功能点脚本(方法二) - 虞秀权

    虞秀权发表于 2015-10-04 02:51:00
    love 0

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

     


    本文链接:LoadRunner测试下载功能点脚本(方法二),转载请注明。



沪ICP备19023445号-2号
友情链接