使用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[];
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错误的更多相关文章
- Loadrunner脚本读取 XMl 文件
Loadrunner脚本读取 XMl 文件 性能测试工程师要懂代码么?答案是必须的,好多测试员认为在 loadrunner 中编写脚本很难很牛 X . 好多人认为 loadrunner 只支持 C 语 ...
- vue+uniapp实现多任务并发下载文件 | 断点续下, 任务列表, 多任务并发限制
一.插件简介 zhimi-downloadManager(智密 - 多任务下载管理插件)是一个支持多任务多并发下载,支持多/单任务管理,并且实时反馈任务下载进度的uniapp原生插件.平台支持:And ...
- win下自动sftp脚本定时下载文件
缘起一个BA与客户交流的软件.但因为数据不能通过系统直连的方式进行获取. 对方只提供每天一份全量数据到指定文件夹下,我方自动通过sftp的方式去拉取. 一个只有简单几行的操作,想必肯定是不可能需写程序 ...
- LoadRunner 脚本学习 -- 读取文件内容
随便创建个txt文档 输入点内容,例如 读取文件内前N个字符: Action() { long myfile; ; ]; char *filename = "E:\\kkk.txt&quo ...
- Loadrunner脚本篇——从文件中读取内容并参数化
直接代码展示: char* testfn() { int count, total = 0; char * buffer = NULL; int filelenth = 0; long file_st ...
- LoadRunner下载文件脚本
LoadRunner下载文件脚本 在看普泽关于pezybase的测试报告的时候,发现里面有用到jmeter(http协议)并发测试下载文件,考虑到后面可能需要在公司pezybase的并发下载,把之前 ...
- Loadrunner上传文件与下载文件脚本
Loadrunner上传文件与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex( ...
- Loadrunner上传与下载文件脚本
一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex("ParamName=imgRan ...
- LoadRunner性能测试-下载文件脚本
Action() { intflen; //定义一个整型变量保存获得文件的大小 longfiledes; //保存文件句柄 charfile[]="\0"; //保存文件路径及文件 ...
随机推荐
- 函数的学习1——定义函数&传递实参——参考Python编程从入门到实践
定义函数 def greet_user(): print("Hello") greet_user() # PEP8 函数和类的定义后空两行 1. 向函数传递参数 def greet ...
- python函数知识七 闭包、装饰器一(入门)、装饰器二(进阶)
21.闭包 闭包:在嵌套函数内,使用非全局变量(且不使用本层变量) 闭包的作用:1.保证数据的安全性(纯洁度).2.装饰器使用 .__closure__判断是否是闭包 def func(): a = ...
- day43——多表查询、Navicat工具的使用、pymysql模块
day43 多表查询 笛卡尔积--不经常用 将两表所有的数据一一对应,生成一张大表 select * from dep,emp; # 两个表拼一起 select * from dep,emp wher ...
- Linux -- touch 命令
在Linux中,每个文件都关联一个时间戳,并且每个文件搜会存储最近一次访问的时间.最近一次修改的时间和最近一次变更的时间等信息.所以,无论何时我们创建一个新文件,访问或者修改一个已经存在的文件,文件的 ...
- 论文笔记 Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression
Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression 该文献采用一个新型 ...
- 一张图看懂SharpImage
通过下面的图片,可以瞬间看懂整个类库的脉络.图片比较大,如果看不清,可
- webpack+vue搭建vue项目
阅读地址: https://www.jianshu.com/p/23beadfa4aa5 源码地址:https://github.com/Ezoio/IMI-SOURCE-CODE
- cefsharp System.IO.FileNotFoundException: 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。
解决办法 安装vc++ 2015 Redistributable 64位系统安装x64 如果还报错先装x64版本再装x86版本 https://files.cnblogs.com/files/xuej ...
- python在linux中import cv2问题
python中import cv2遇到的错误及安装方法标签 1 错误: ImportError: libXext.so.6: cannot open shared object file: No su ...
- 7.nth-of-type | nth-child?【CSS】
举例说明: <ul> <p>111</p> <span>222</span> <li>1</li> <li& ...