zoukankan      html  css  js  c++  java
  • 使用LoadRunner脚本并发下载文件,出现19890错误

    需求:10个客户并发下载同一份zip文件。
    执行的时候,8个Fail了,只下载了两份zip,且无论执行多少遍,都是这样。

    错误信息如下:
    message code:-19890
    C interpreter run time error: memory violation:exception access_violation received

    网上各种解决办法都试过,无效,通过排除法,对脚本一点点注释、执行,最终发现导致本错误的根本原因是:

     web_set_max_html_param_len("10240000");这一句中指定的长度太大了,而我要下载的文件只有4k,改成4096000后,问题解决。

    Action()
    {
     int flen;
     longfiledes;
    
     char filename1[50];
     charfilename[50];
     charfilepath[50];
     char *fileSuffix;
    
     lr_save_datetime("%Y%m%d%H%M%S",DATE_NOW,"now"); 
     fileSuffix = lr_eval_string("{num}");
     sprintf(filename,"%s%d.rar",lr_eval_string("{now}"),fileSuffix);
     lr_save_string(filename,"filename1");
     strcpy(filepath,"D:\test\download\");
     strcat(filepath,lr_eval_string("{filename1}"));
     lr_message("%s",filepath);
    
     web_set_max_html_param_len("10240000");
     web_reg_save_param("fcontent","LB=", "RB=", "SEARCH=BODY", LAST);
     
     lr_rendezvous("并发");
     lr_start_transaction("download");
     web_url("attachment.aspx",
      "URL=http://172.0.0.1:8081/package/2015wwerwt34w553qq.zip",
      "TargetFrame=","Resource=0",
      "RecContentType=application/zip",
      "Referer=",
      "Snapshot=t1.inf",
      "Mode=HTML",
            LAST);
    lr_end_transaction("download",LR_AUTO);
     flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);
    
     if(flen> 0) 
     {
      //以写方式打开文件
      if((filedes = fopen(filepath,"wb")) == NULL)
      {
       lr_output_message("Open File Failed!");
       return -1;
      }
      //写入文件内容
      fwrite(lr_eval_string("{fcontent}"),flen, 1, filedes);
      //关闭文件
      fclose(filedes);
     }
    
     return 0;
    }
  • 相关阅读:
    让元素水平和垂直居中的方法总结
    a标签常见问题
    centos7的安装
    java面向对象-类的定义
    java内存划分
    java基础知识点-数组
    java基础知识点-重载
    第一章:服务器的组成知识点
    java 第二天运算符及录入函数Scanner
    java第一天 数据类型、变量的命名、类型的转换
  • 原文地址:https://www.cnblogs.com/ttssrs/p/6163889.html
Copyright © 2011-2022 走看看