LoadRunner 多用户并发 登录,上传数据,登出的脚本教程
这里记录 Web/Http 模式,模拟多用户并发进行 : 登录,上传数据,退出登录一整套流程。并发的用户量多少,可自定义。这里不介绍录屏的方式,是自己写脚本去执行的。
1.安装loadRunner.
2.在安装目录的bin 文件夹下,找到 LRLauncherApp.exe,双击打开。



下面这个弹框,直接cancel,因为我们不采用录屏的方式,自己写脚本去执行。

3.在左侧,可以看到几个文件列表。
vuser_init :执行开头的脚本 :一般写是用户登录(or 录制)过程的脚本
action: 操作间的脚本 :一般写是用户操作(or 录制)过程的脚本
vuser_end:执行结束的脚本 : 一般写是用户退出登录(or 录制)过程的脚本

.ok,直接贴脚本代码,并解释:
vuser_init()
{
web_custom_request("login.json",
"URL=http://www.test.com/web/login.json",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=http://www.test.com/web/login",
"Snapshot=t3.inf",
"Mode=HTML",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
//"Body={\"username\":\"admin\",\"password\":\"admin`12\",\"rememberme\":false}",
"Body={\"username\":\"{usernames}\",\"password\":\"admin`12\",\"rememberme\":false}",
LAST);
return 0;
}
vuser_init 文件中代码:因模拟多用户并发登录,故需传入不同的用户名及密码,如上代码注释掉的,我们选中 用户名的值 admin ,右键,选择 Replace with a Parameter。输入参数名称,选择Properties,选择用户名dat文件所在位置。注意:用户名与密码是
一一对应的,所以构建用户名密码的dat文件时,注意匹配。usernamefor55.dat 是dat格式的文本文件,内容如下图所示:我这里的测试数据,用户名不一样,但密码都一样,所以密码就没有参数化了。

5.用户上传数据:
这里业务设计逻辑是:用户先上传数据元信息,数据分配id后,再根据分配的id,进行upload数据。故,有2个POST请求:
脚本:
Action()
{
lr_think_time(5); //思考时间,模拟人在真实操作时的停顿时间。 web_reg_save_param("childID","LB=childID\":\"","RB=\"}","Search=Body",LAST); //利用该方法,截取web/mycontent/datas.json 响应结果的内容中的id值,并以参数childID表达。LB表示待截取值左边的字符,LR表示其右边的字符。
web_custom_request("datas.json",
"URL=http://www.test.com/web/mycontent/datas.json",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=http://192.168.112.100:8090/web/mycontent/datas",
"Snapshot=t6.inf",
"Mode=HTML",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
"Body={\"fileName\":\"test.csv\",\"type\":\"CSV\",\"coordType\":\"WGS84\",\"dataMetaInfo\":{\"fileEncoding\":\"UTF-8\",\"xField\":null,\"yField\":null}}", // Body传入的是POST请求的请求体。 对于" 号,前面需要\进行转义。
LAST); lr_think_time(5);
web_submit_data("upload.json",
"Action=http://www.test.com/web/mycontent/datas/{childID}/upload.json", //{childID} 传入的是上面 截取的响应id值。
"Method=POST",
"EncType=multipart/form-data",
"TargetFrame=",
"RecContentType=application/json",
"Referer=http://192.168.112.100:8090/web/mycontent/datas",
"Snapshot=t7.inf",
"Mode=HTML",
ITEMDATA,
"Name=uploadFile", "Value=D://wujr//createdata//testdata//标注点.csv", "File=Yes", ENDITEM, //Value=??对应的待上传文件的绝对路径。
LAST);
return 0;
}
好吧,解释都在注释中了,其他也没啥说的了
6.登出。 vuser_end文件中:
vuser_end()
{
web_custom_request("logout",
"URL=http://www.test.com/security/logout",
"Method=GET",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Mode=HTTP",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
LAST);
return 0;
}
7.脚本写好了,开始运行:先点他,执行一遍,看是否有错。

没问题后,开始自动执行:


.
最后:点击这里:开始执行。

edit by tangyuan。thanks
LoadRunner 多用户并发 登录,上传数据,登出的脚本教程的更多相关文章
- HTTP上传数据 :表单,二进制数据(multipart/form-data application/octet-stream boundary)
使用WinINet 一个较简单的例子:上传头像 void CBackstageManager::UpdateAvatarThreadProc(LPVOID params) { stForThread* ...
- TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]
TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...
- Streamr助你掌控自己的数据(1)——教你5分钟上传数据至Streamr
博客说明 所有刊发内容均可转载但是需要注明出处. 教你5分钟上传数据至Streamr 本系列文档主要介绍怎么通过Streamr管理自己的DATA,整个系列包括三篇教程文档,分别是:教你5分钟上传数据至 ...
- Loadrunner上传文件与下载文件脚本
Loadrunner上传文件与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex( ...
- 微信的API都是通过https调用实现的,分为post方法调用和get方法调用。不需要上传数据的采用get方法(使用IntraWeb开发)
首先需要明确的是,微信的API都是通过https调用实现的,分为post方法调用和get方法调用.不需要上传数据的采用get方法(例如获取AccessToken),而需要向微信服务器提交数据的采用po ...
- 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
[源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...
- Amzon MWS API开发之 上传数据
亚马逊上传数据,现有能操作的功能有很多:库存数量.跟踪号.价格.商品....... 我们可以设置FeedType值,根据需要,再上传对应的xml文件即可. 下面可以看看FeedType类型 这次我们拿 ...
- Amazon MWS 上传数据 (三) 提交请求
前面介绍了设置服务和构造请求,现在介绍提交请求. 上传数据,查询上传操作的工作状态,和处理上传操作返回的报告操作使用的Amazon API 分别为:SubmitFeed(),FeedSubmissio ...
- Amazon MWS 上传数据 (二) 构造请求
上一篇文章提到了Amazon 上传数据有三个步骤,但是每个步骤都需要构造服务和构造请求,服务是一样的,请求各不相同:这个很容易理解,这三个步骤都需要和Amazon服务器交互,所以他们的服务构造是一样的 ...
随机推荐
- Spider--补充--Requests--session&cookie
# session 与 cookie # 可能大家对session已经比较熟悉了,也大概了解了session的机制和原理,但是我们在做爬虫时如何会运用到session呢,就是接下来要讲到的会话保持. ...
- UNIX目录访问操作
1.目录访问相关函数: DIR* opendir (const char * path ); struct dirent* readdir(DIR *dirptr) ;参数是一个指向dirent 结构 ...
- Linux配置邮件发送信息
背景 一般情况下,我们的IT系统都会有相关的告警的处理,有的是邮件,有的是短信,这些都能很方便的获得一些有用的信息 在某些时候我们没有这样的系统,而自己又需要定期的获取一些信息的时候,配置一个邮件发送 ...
- oracle的三种连接方式
1.通过sid jdbc:oracle:thin:@host:port:SID Example: jdbc:oracle:thin:@localhost:1521:sid_test 2.通过servi ...
- yum 常用命令使用
1.向服务器上传文件或者下载文件 我们知道我们经常需要向服务器上传文件,或者从服务器下载文件,rz和sz命令可以满足我们的要求, 只不过默认情况下是不能使用的.我们需要使用yum install lr ...
- Spring中@Translational注解失效场景
今天面试被问到@Translational注解什么场景下失效,我一脸懵逼,说的恍恍惚惚的,下来我就总结一下@Translational注解失效的场景! @Transactional 注解相信大家并不陌 ...
- 网页中Office和pdf相关文件导出
最近被派去维护和开发一些做了一半.年久失修的项目.有一部分内容是关于word文件导出,顺带着把excel.pdf文件的导出也调研下吧,我想未来开发我应该会遇到的,遂做了下笔记分享给需要的人. 由于项目 ...
- linux执行cmd之一
执行方法: 1.手动执行 2.程序执行 涉及到的权限问题: 1.应用程序的权限 2.被执行文件的权限
- 面试大厂必看!就凭借这份Java多线程和并发面试题,我拿到了字节和美团的offer!
最近好多粉丝私信我说在最近的面试中老是被问到多线程和高并发的问题,又对这一块不是很了解,很简单就被面试官给问倒了,被问倒的后果当然就是被刷下去了,因为粉丝要求,我最近也是花了两天时间 给大家整理了这一 ...
- 仅一年工作经验成功跳槽字节跳动,腾讯并拿到字节的offer,全靠这份面经!
前言 前几天由于工作的原因一直没怎么看私信,昨天在整理私信的时候看到了一个粉丝给我疯狂私信想要我帮忙整理一份大厂面经,说自己工作也有几年了想跳槽冲刺一下,但是不知道该怎么做好前期准备.我看到这个粉丝也 ...