LoadRunner

loadrunner脚本开发-添加检查点

旧街凉风 提交于 2020-04-05 16:52:30
请求request:请求头信息、请求数据 响应response:响应头、响应数据 页面右键源码:只有请求返回的数据信息,没有返回的头信息。 get请求 :web_url(“打开首页”,“URL=http://192.168.8.105/bbs/forum.php”,LAST); post请求: 函数可帮助文档:尖括号<>和中括号[]中的是可选参数 html资源:静态资源能再右键源码中找到 额外资源:录制的脚本有额外资源;页面右键源码中 不能找到额外资源 额外资源一般删了不影响,但是如果额外资源中包含了一些业务相关的非资源类请求,就不能删 字符集编码:浏览器网页中右键,编码 能看到编码类型,如Unicode(UTF-8) 检查点——》 找返回的中文数据:(尽量找英文,找中文容易有问题) 录制的脚本,如果录制的时候浏览器是utf-8,loadrunner会自动把他设置为utf-8,查找时会找到中文的返回数据。如果不是录制的是自己写的脚本,是找不到中文的返回数据的,编码格式会不一致,需要我们把要找的文字转化为utf-8格式的数据。 看有没有成功站在 2 个角度:工具角度, lr 看有没有成功是看请求有没有成功; 业务有没有成功你需要去加检查点 。我们性能虽然不关注功能是否正确,但是性能再好功能必须是对的。 所以我们就有必要对关键的业务加上检查点 。 接下来我们看看检查点怎么写 。

Loadrunner模拟Json请求

巧了我就是萌 提交于 2020-03-30 04:03:37
一、loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_request 2.填入相应参数 3.生成脚本,并修改如下(参数中的引号"前需要加斜杠\转译) Action() { lr_start_transaction("Sendorder"); web_reg_find("Search=Body", "SaveCount=Sendorder_count", "Text=ord_sn", LAST); web_custom_request("sendOrder.html", "URL=http://192.168.1.205:9000/default/com.bybon.O2O.services.apiservice.getApiServiceMgr.getApiService.api", "Method=POST", "Resource=0", "RecContentType=text/html", "Referer=http://192.168.1.205:9000/default/com.bybon.O2O.services.apiservice.getApiServiceMgr.getApiService.api", "Snapshot=t229.inf", "Mode=HTTP",

使用LoadRunner实现对Linux系统的监视

不羁的心 提交于 2020-03-28 17:52:40
1.安装rsh,和rsh-server两个服务包。 a. 卸载rsh # rpm –q rsh----------查看版本号 # rpm -e 版本号---------卸载该版本。 B.安装 # rpm –ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm 2. 下载并安装rstatd # tar –xzvf rpc.rstatd-4.0.1.tar.gz # ./configure ---配置 # make ---编译 # make install ---安装 # rpc.rstatd ---启动rstatd进程 3.打开/etc/xinetd.conf 里面内容是: # Simple configuration file for xinetd # # Some defaults, and include /etc/xinetd.d/ defaults {     instances        = 60     log_type        = SYSLOG authpriv     log_on_success        = HOST PID     log_on_failure        = HOST     cps            = 25 30  }  includedir /etc/xinetd

Loadrunner监控服务器资源

非 Y 不嫁゛ 提交于 2020-03-28 16:03:50
LoadRunner 加载监听服务器的步骤如下:      1、在 LoadRunner Controller 下,将工作面板切换到 Run状态,Available Graphs 栏 ,System Resources Graphs目录下选择 Windows Resources,双击,在右侧4个监视栏中,选择 Windows Resources-Last 60 sec双击,放大模块,右键--> Add Measurements ,在新弹出的窗口中,添加 Monitored Server Machines 。(Add Machine 时,Name 一般填机器ip),然后 ok      2、添加完毕后,会看到监视栏中出现10个性能服务器的数据条。这时需要观察Scenario Status 的状态,如果没有 Errors 出现,那么过一会后,会看到 Windows Resources 栏出现走动的数据,表示监听成功;否则,出现了 Errors ,则说明监听不成功。点击 红色的 Errors ,查看失败的原因。      下面是我遇到的两种错误情况:      情况1:      Monitor name :Windows Resources. Cannot connect to machine 10.0.64.152   Reason: 拒绝访问。      Hints:  

LoadRunner监视器

£可爱£侵袭症+ 提交于 2020-03-28 15:49:06
视图 说明 Runtime Graphs 运行时视图 Running Vusers 虚拟用户运行视图 User Delined Data Points 用户自定义数据点视图 Error Statistics 错误统计视图 Vusers with Errors 出错的虚拟用户 Transaction Graphs 事务视图 Trans Response Time 事务响应时间。即时时间,包含思考时间在内 Trans/Sec [Passed] 每秒处理的事务数(结果为正确的事务、失败和停止的事务和总的事务) Trans/Sec [Failed Stopped] Total Trans/Sec [Passed] Web Resource Graphs web资源视图 Hits per Second 主要分析点击率视图和吞吐量视图。点击率与虚拟用户数成正比,否则说明客户端提交的请求未发送到服务端。吞吐量与点击率趋势一致,否则说明服务器没有正确的处理客户端提交的请求。 Throughput HTTP Response per Second WebSocket Statistics Pages Downloaded per Second Retries per Second Connections Connections per Second SSL per Second System

转贴- Loadrunner变量定义

泪湿孤枕 提交于 2020-03-22 22:36:06
3 月,跳不动了?>>> Loadrunner变量分为局部变量和全局变量。 1. 如何定义变量 在Loadrunner脚本中变量必须在开头声明。比如说,在Vuser_init/Action/Vuser_end定义变量,必须现在最顶端生命,后面才能使用。如果不这样,编译器是通不过的。 例如1: vuser_init() { int i=0; char tmp[40]; char str[40]; ..... //使用变量 } 2. 局部变量 就像C语言一样,变量有作用域范围,局部变量包含在函数或者Vuser_init/Action/Vuser_end内部,对于其他范围之外就不起作用了。 例子2: vuser_init() { char * str=test; lr_output_message(str Value1: %s,str); return 0; } Action() { lr_output_message(str Value1: %s,str); return 0; } 由于Action中的变量str没有定义,所以编译报错。如果注释点这一行,运行,在控制台中打印出结果 3. 全局变量 若要跨越Vuser_init/Action/Vuser_end定义变量,则需要定义全局变量。定义方式有两种: 1)定义在 globals.h 文件中 例子3: #ifndef _GLOBALS

LoadRunner常用的C语言原生函数

醉酒当歌 提交于 2020-03-22 22:35:35
3 月,跳不动了?>>> (1) int rand (void) 功能: 产生随机数。计算机产生的随机数都不是真正意义上的随机数,只是伪随机数,它以一个真值(也称为种子)作为初始条件,然后用一定的算法不停迭代产生随机数。 rand()函数不需要参数,它将会返回0到RAND_MAX之间的任意的整数。 举例: 1、生成1-100直接的随机整数 int radomNum = rand() % 100+1; 2、生成[m,n]范围之间的随机整数,可以套用公式: rand()%(n-m+1)+m。比如生成一个[10,30]的随机整数: int radomNum = rand() % 21+10; 3、rand()函数一般要搭配srand(unsigned int seed)一起使用,srand()作用是设置随机数种子,若未设置,rand()在调用时会自动设随机数种子为1。若设置为固定的种子(或不使用srand),则每次循环输出的序列都是固定的(VS等IDE是固定的,但Loadrunner测试了一下不是固定的),因此常常使用当前的时间(time(0))作为种子(精确到秒),这样只要时间不同,循环的序列就不同。; /*设置当前时间为种子,循环输出5个随机数*/ void SetRandomNum() { int radomNum; int i; srand(time(0)); for(i=0;i

LoadRunner压力测试心得总结

孤者浪人 提交于 2020-03-22 06:42:36
一、虚拟用户迭代一次的时间对整个压力场景的影响。 1、虚拟用户迭代一次的时间大于等于压力场景的上行周期。   此种情况,在压力场景的上行周期中,所有虚拟用户根据压力场景设置的策略全部依次运行。压力场景的上行周期过后,进入虚拟用户运行的稳定期,因为此时第一个运行的虚拟用户尚未退出迭代。当第一个运行的虚拟用户退出迭代时,即进入运动期。在运动期中,会不断的有虚拟用户上线和下线,此起彼伏,但当前运行的总虚拟用户数与总虚拟用户数接近,实际中会有所偏差,偏差的数量与压力场景步长的设定以及脚本的睡眠时间有关。当场景设置的步长为0时,运动期的时间等于压力场景的上行周期,因为当步长设置为0时,意味着虚拟用户一上线便下线,这与他们上行的速率相等。运动期后,便又进入稳定期,因为运动其第一个运行的虚拟用户尚未退出迭代。如果结束时间点落在稳定期时,虚拟用户不会立即停止迭代,而是等到下一次的运动期时才会陆续退出运行。如果结束时间点落在运动期,当有虚拟用户退出迭代时,便将该用户下线,不会再进入下一次的迭代,因为运动期时刻都有用户上线下线,所以虚拟用户会按照压力场景设置的退出策略全部退出迭代。 2、虚拟用户迭代一次的时间小于压力场景的上行周期。   此种情况是没有稳定期的,虚拟用户的上线下线贯穿于整个压力测试始末。假设有100个虚拟用户,每秒钟上一个虚拟用户,如上图所示。在虚拟用户第一次迭代的时间里

LoadRunner脚本录制常见问题

狂风中的少年 提交于 2020-03-21 05:04:48
LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner的主机上保持一个干净的测试环境。 录制Web脚本时,生成的脚本中存在乱码该如何解决? 录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。再次录制, 就不会出现中文乱码问题了。 HTML-based script与URL-based script的脚本有什么区别? 使用“HTML-based script”模式录制脚本时,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观; 使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。 通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本

loadrunner参数化使用mysql数据源失败解决方法

∥☆過路亽.° 提交于 2020-03-19 04:54:48
操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读: loadrunner参数化使用mysql数据源失败解决方法 写之前先理一下,数据库访问流程:打开数据库 --> 数据库操作 ---> 关闭数据库 1、打开数据库 a、数据库服务器地址/IP b、数据库服务器访问用户和密码 c、数据库服务器中的数据库名称 d、开始连接数据库 2、数据库操作 增删改查 3、所有的操作都做完后,一定要关闭数据库。 说明一下,因为 lr 有很多库文件都没有,所以需要额外的从外部下载 公共库,并放到相应的位置。 ---------------------------------------------------------------------------------------------------- 1、库文件下载地址: MySQL_LoadRunner_libraries.zip 将 .h文件 都放在 lr安装目录中的 include 文件夹中, .dll 放在 bin 目录中 2、vuser_init #define MYSQLSERVER "172.18.0.11" #define MYSQLUSERNAME "root" #define MYSQLPASSWORD "123456" #define MYSQLDB "test" #define MYSQLPORT