需求: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[];
charfilename[];
charfilepath[];
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("");
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> )
{
//以写方式打开文件
if((filedes = fopen(filepath,"wb")) == NULL)
{
lr_output_message("Open File Failed!");
return -;
}
//写入文件内容
fwrite(lr_eval_string("{fcontent}"),flen, , filedes);
//关闭文件
fclose(filedes);
} return ;
}

使用LoadRunner脚本并发下载文件,出现19890错误的更多相关文章

  1. Loadrunner脚本读取 XMl 文件

    Loadrunner脚本读取 XMl 文件 性能测试工程师要懂代码么?答案是必须的,好多测试员认为在 loadrunner 中编写脚本很难很牛 X . 好多人认为 loadrunner 只支持 C 语 ...

  2. vue+uniapp实现多任务并发下载文件 | 断点续下, 任务列表, 多任务并发限制

    一.插件简介 zhimi-downloadManager(智密 - 多任务下载管理插件)是一个支持多任务多并发下载,支持多/单任务管理,并且实时反馈任务下载进度的uniapp原生插件.平台支持:And ...

  3. win下自动sftp脚本定时下载文件

    缘起一个BA与客户交流的软件.但因为数据不能通过系统直连的方式进行获取. 对方只提供每天一份全量数据到指定文件夹下,我方自动通过sftp的方式去拉取. 一个只有简单几行的操作,想必肯定是不可能需写程序 ...

  4. LoadRunner 脚本学习 -- 读取文件内容

    随便创建个txt文档  输入点内容,例如 读取文件内前N个字符: Action() { long myfile; ; ]; char *filename = "E:\\kkk.txt&quo ...

  5. Loadrunner脚本篇——从文件中读取内容并参数化

    直接代码展示: char* testfn() { int count, total = 0; char * buffer = NULL; int filelenth = 0; long file_st ...

  6. LoadRunner下载文件脚本

    LoadRunner下载文件脚本  在看普泽关于pezybase的测试报告的时候,发现里面有用到jmeter(http协议)并发测试下载文件,考虑到后面可能需要在公司pezybase的并发下载,把之前 ...

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

    Loadrunner上传文件与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex( ...

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

    一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex("ParamName=imgRan ...

  9. LoadRunner性能测试-下载文件脚本

    Action() { intflen; //定义一个整型变量保存获得文件的大小 longfiledes; //保存文件句柄 charfile[]="\0"; //保存文件路径及文件 ...

随机推荐

  1. 使用Git管理版本

    原文地址:廖雪峰的网站 Git 是目前世界上最先进的分布式版本控制系统 Git 的历史 集中式 vs 分布式 集中式的版本库是集中存放在中央服务器的.缺点是必须联网.网速慢的情况就会让人抓狂. 分布式 ...

  2. 3.03定义常量之enum

    [注:本程序验证是使用vs2013版] #include <stdio.h> #include <stdlib.h> #include <string.h> #pr ...

  3. mysql 字符

    只适用mysql5.0以上的版本: 1.一个汉字占多少长度与编码有关:         UTF-8:一个汉字=3个字节            GBK:一个汉字=2个字节 2.varchar(n)表示n ...

  4. Autofac在.NetCore 下的使用

    在工作开发中很多地方都会使用到接口模式开发,这里就会用到依赖注入,.NetCore目前是自带的 ,在 Startup.cs中的 ConfigureServices方法中增加 public void C ...

  5. git add提交时关于 LF will be replaced by CRLF in 问题出现的原因以及解决方式

    最近在新创建的github项目中add新框架代码时,出现了LF will be replaced by CRLF in的问题,以下为问题截图 查阅资料才知道,LF和FRLF是两种不同的换行格式,这个警 ...

  6. C# vb .net实现色调调整特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的色调调整呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一步 ...

  7. ChipGenius 识别U盘主控信息

    ChipGenius 识别U盘主控信息 ================== End

  8. 入门Docker,你要下载什么?注册什么?

    此随笔根据前人经验改编并亲自实践.遇到问题提供出相应解决方法. 入门Docker,你要下载什么?注册什么? Docker.app你肯定是要下载的!此教程应用于MAC系统PC不保证适用 Docker f ...

  9. 用户在浏览器输入URL回车之后,浏览器都做了什么

    在直接列出执行的步骤之前先来普及几个知识,相信了解完这些知识之后会对前后端的交互有更深入的理解. 1.TCP连接 TCP:Transmission Control Protocol, 传输控制协议,是 ...

  10. MYSQL5.7.24编译安装

    1.解压源代码包 #tar zxvf mysql-boost-8.0.17.tar.gz 2.安装依赖包 #yum -y install gcc gcc-c++ ncurses ncurses-dev ...