Loadrunner上传文件与下载文件脚本

Loadrunner上传文件与下载文件脚本

一、 上传脚本

Action()

{

         int uploadImgStatus = 0; 

   //获取上传产品图ID  

         web_reg_save_param_ex("ParamName=imgRandName", 

              "LB="sourceImgPath":"upload\/cropzoomimg\/", 

              "RB="}", 

              LAST); 

         uploadImgStatus = web_submit_data("CropZoomImgController.do",  

                  "Action=http://192.168.2.67:7001/CropZoomImgController.do?method=uploadSourceImg",  

                  "Method=POST",  

                  "EncType=multipart/form-data",  

                  "Referer=http://192.168.2.67:7001/GoodsController.do?method=toCreateGoods",  

                  "Snapshot=t377.inf",  

                  "Mode=HTTP",  

                  ITEMDATA,  

                  "Name=attachFile", "Value=G:\123.txt", "File=Yes", ENDITEM,  

                  LAST); 

         if (uploadImgStatus == 1) { 

      //如果上传失败则终止脚本

                   lr_abort(); 

                   lr_error_message("上传失败!");

         } else { 

      //输出上传图片ID(调试使用)  

                   lr_output_message("%s", lr_eval_string("{imgRandName}")); 

         return 0;

}

二、下载脚本

Action()

{
 
         //定义一个整型变量保存获得文件的大小
     int flen;    
         
     //保存文件句柄
     long filedes;
     
     //保存文件路径及文件名
     char file[256]="";  

     char * chNumber ;

     int time;
 
    //设置页面接收最大的字节数,该设置应大于下载文件的大小
    web_set_max_html_param_len("1024000");   
 
         //并发开始
     web_concurrent_start(NULL);
 
      //使用关联函数获取下载文件的内容
    web_reg_save_param("filecontent",

          "LB=",

          "RB=",

          "Search=BODY",

          LAST);  

 

     web_url("android.apk",
                 
          //下载链接
         "URL=http://res.t.ifeng.com/download/android/ifeng_weibo_android_v1.01beta.apk",

          "Resource=1",

         "RecContentType=application/force-download",

          "Referer=",

          LAST);


    //并发结束
   web_concurrent_end(NULL);

   
      //获得下载文件大小
      flen =web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

          time=web_get_int_property (HTTP_INFO_DOWNLOAD_TIME);

          lr_output_message("下载时间是%d",time);

 
          //生成随机数
          chNumber=lr_eval_string("{NewParam}");  

 
          //将下载文件要保存的路径存到file里
          strcat(file,"F:\file");

          //在文件名后自动生成随机数
          strcat(file,chNumber);
          
          //下载的文件后缀名称
          strcat(file,".apk");


        if(flen > 0)

         {

            if((filedes = fopen(file,"wb")) == NULL)

             {

              lr_output_message("Open FileFailed!", lr_eval_string("{filecontent}"));

              return -1;

             }

             fwrite(lr_eval_string("{filecontent}"),flen,1,filedes );

             fclose( filedes );

                    }

    return 0;

}

原文地址:https://www.cnblogs.com/TestWorld/p/5139165.html