喜欢研究学习技术,喜欢和志同道合的人交流。 从事测试6年,专职性能3年经验,擅长性能测试,测试框架开发。 励志格言:只要想学习,永远都不会太晚;只要想进步,永远都会有空间。

LoadRunner之C语言版文件下载

上一篇 / 下一篇  2018-06-20 10:44:24 / 个人分类:性能测试

Action()
{

    int flen;   //响应文件长度
    long filedes;        //保存文件句柄
    char filename[1024]; //文件保存
int time; //文件下载时间
char * number;    //随机数参数
   

    web_set_timeout("receive","5000"); //超时上限时间


    //设置参数的最大长度,注意该值必须大于文件的大小
    web_set_max_html_param_len("20000");

    //获取响应的全部内容,作为文件内容保存(获取所有的响应数据,都是这种写法)
    web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=all", LAST);


    //下载文件操作
lr_start_transaction("downloadfile");

web_url("DownloadAction", 
"Resource=1", 
"RecContentType=application/octet-stream", 
"Referer=", 
"Snapshot=t1.inf", 
LAST);
    
lr_end_transaction("downloadfile", LR_AUTO);

    //获取响应中的文件长度
    flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);
//获取到文件下载的时间
    time=web_get_int_property (HTTP_INFO_DOWNLOAD_TIME);
    lr_output_message("文件下载时间是:%d",time);

   number=lr_eval_string("{NewParam}");  //生成随机数,让下载的文件内容不一样。

   strcpy(filename,"E:\\");
   strcat(filename,lr_eval_string("{number}"));
   strcat(filename,".zip");


    if(flen > 0)    
    {
        //以写方式打开文件,以二进制形式打开文件,如果为空,下载文件失败,不能执行写入到磁盘操作。
        if((filedes = fopen(filename, "wb")) == NULL)
        {
            lr_output_message("文件打开失败!");
            return -1;
        }

        //写入文件内容
        fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);

//关闭文件
        fclose(filedes);
    }

return 0;
}


TAG:

 

评分:0

我来说两句

Open Toolbar