loadrunner 基本操作
1.录制(录制选项)
2.回放(运行时设置)
3.添加事物
4.参数化
5.内容检查
6.添加集合点
1.在脚本中添加集合点函数如下:
lr_rendezvous("集合点") //添加集合点
2、打开Controller (控制器),导入录制的脚本。
3、菜单栏 Scenario ---> Rendezvous 打开集合点设置界面
4. 设置界面中Vusers 列表框里有10个集合点(1~10),这里的数量和我们设置的虚拟用户数一致,可以对数量进行修改
5.点击“Policy...”来设置集合点的策略,一般选择第二个,第一个会干扰场景的设置
下面来看看这三种策略的含义:
Release when :当所有虚拟用户中的x % 到达集合点进释放,即仅当指定百分比的虚拟用户到达集合点时,才释放虚拟用户。
注意:此选项将会干扰场景的计划。如果选择此选项,场景将不按计划运行。
Release when :当所有正在运行的虚拟用户中的x %到达集合点时释放,即仅当场景中指定百分比的、正在运行的虚拟用户到达集合点时,才释放虚拟用户。
还有不在运行的虚拟用户? 假如,设置为1分钟启动一个用户,当然会存在因为用户还没启动,所以无法参与集合点。
Release when : 当x 个虚拟用户到达集合点时释放,即仅当指定数量的虚拟用户到达集合点时,才释放虚拟用户。
这个很好理解,当我用百分比不太好衡量集合点的虚拟用户数,当然可以设置具体的用户数。
Timeout between Vusers (虚拟用户之间的超时)框中输入一个超时值。
假如设置了集合10用户并发,结果9个用户已经集合到位,还剩1个虚拟用户,左等右等就是等不来。那总不能一直等下去吧。设定了个时间,假如30秒还不来,那就不管它了。
超时的时长默认是30秒,我们可以根据具体的被测应用进行调整。
7.手动关联的过程大致如下:
1. 在tree视图的action中,选择第一个右击选择insert before
2.add step->services->web-reg-save-param函数
3.填入参数名,Left Boundary , Right Boundary,search in 可填可不填
比如 参数名:login
Left Boundary :userSession value=
Right Boundary:>
4.把关联内容参数化,用已填入的参数名{login}
5.把函数尽量放在脚本action的最前面
6.验证脚本有没有关联成功
8.ip欺骗
1.控制面板->网络连接->右击属性->internet协议->属性
2.取消自动获取,选择使用下面的ip地址和DNS服务器地址
获取地址的方式为:运行->cmd->ifconfig /all 获取所需地址
3.打开 HP loadrunner->tools- >IP wizard
4.第一个是创建新的设置,第二个从哪里获取,第三个恢复把之前的取消操作,一般选择第一个
5.下一步点击add添加,选择classC类,选中最下面验证所设网络有没有被使用,点击完成,在cmd中ipconfig验证是否创建成功
6.脚本页面的设置:1.用本机的IP地址,不能用172.0.0.1或者localhost;添加事物(脚本中必须有一个事物)2.在run time setting中设置log选择框里的三个扩展日志勾选上3.在run time setting中设置
miscellaneous中设置线程,中间选项第二个
7.在user generator中点击tools ,创建场景
8.在Controller打开场景,选择enable ip spoofer
9.在tools中选择expert mode(开发调试模式),option->general->第二个IP线程
10.运行场景,在弹出的对话框里,选中用户右击可以查看用户日志(show vuser log)
11.测试完成 要释放掉IP,否则ip占用,别人无法上网。
9.加压机(负载生成器)
负载生成器:每生成一个用户,需花费加压机大约2M-3M,占据内存70%,会造成系统的性能下降,所以主机很少用作
加压机,需要多个加压机生成用户一起工作。
负载生成器的工作多有其他装有LR Agent 的PC机来担任,然后通过一台主机来运行。
本机负载生成器的操作:
1.在负载界面,点击load Generators(负载生成器)->add(添加)
2.在name中输入localhost或者172.0.0.1->点击OK
3.点击connect,右下角查看有雷达图标显示
连接其它的负载生成器
1.在其它PC机上的设置,程序->HR loadrunner->Advanced settings->Agent configuration(代理设置)->enable teminal services(启用终端服 务)->右下角查看有雷达图标显示
2.在本机上连接其它的负载生成器,打开load Generators(负载生成器)->add(添加)->name(输入负载生成器的IP地址)->打开more
3.打开more->run time quota(运行时配额) 或者unix环境下->unix environment->勾选don't usr RSH->OK,点击connect连接
负载生成器的设置
1.在controller界面打开run-time setting(运行时设置)(手动场景时打开方式->场景组->第四个图标)
2.在pacing中,选择第二个随机迭代方式
在log中,选择Extended log(扩展日志)中的第二个data returned by server(服务器返回的数据)调试完后返回 standard log(标准日志)
在think time中选 replay think time(重播思考时间)中第三个(使用录制思考时间的百分比)
在其他中,勾选第一个“出现错误时仍继续”
在preference(首选项)中,如果设置文本检查点的话,勾选第一个Enable image and text check(启用图像和文本检查)
在preference(首选项)中->options->设置超时时间
10.手动场景和目标场景
打开手动场景和目标场景进行目标场景的编辑,运行界面编辑windows资源添加度量。 注意:选择不更改录制思考时间
loadrunner 基本操作的更多相关文章
- 性能测试学习第四天_Loadrunner概述
1.Loadrunner的组成部分 ·脚本生成器VuGen:virtual user generator ·压力控制器Controller,License主要在这里控制 ·结果分析软件Analysis ...
- loadrunner的基本操作
一.遗留问题: 1.controller中,到设置的时间后,仍然在运行: 2.如何对多个用例的结果进行分析,找到系统可以承受的最佳的用户数量点: 3.vuser与实际的用户访问数量是一回事吗?比如vu ...
- 品味性能之道<九>:利用Loadrunner编写socket性能测试脚本简述
一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socket概述 ...
- loadrunner socket协议问题归纳(0)
一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socket概述 soc ...
- Loadrunner socket协议lrs_receive函数接收到返回数据包 仍然等待服务器返回--解决
前段时间在使用loadrunner socket协议发送数据包到到服务器,使用lrs_receive接收服务器应答数据包,已经接收到数据包,但LR仍然在等待服务器端返回,而且日志打印显示每次接收返回都 ...
- LoadRunner编写socket性能测试脚本
利用LoadRunner编写socket性能测试脚本 一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socke ...
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
随机推荐
- 代码审计-extract变量覆盖
<?php $flag='xxx'; extract($_GET); if(isset($shiyan)) { $content=trim(file_get_contents($flag)); ...
- 重新学习SpringMVC——基础
2. SpringMVC_HelloWorld3. SpringMVC_RequestMapping_修饰类4. SpringMVC_RequestMapping_请求方式5. SpringMVC_R ...
- Netty粘包问题(六)
netty使用tcp/ip协议传输数据,而tcp/ip协议是类似水流一样的数据传输方法.多次访问的时候可能出现粘包的问题,解决这种问题的方式有如下几种. 一.定长数据流 二.特殊结束符 三.
- CF13B Letter A
CF13B Letter A 洛谷传送门 题目描述 Little Petya learns how to write. The teacher gave pupils the task to writ ...
- 水晶报表报错:log4net初始值问题
运行水晶报表的程序一直出错,报错如下: System.TypeInitializationException: “CrystalDecisions.ReportSource.ReportSourceF ...
- Spring Cloud微服务安全实战_3-5_API安全之常见问题
1,数据校验,解决接口层的参数校验,是api安全的前线.可以用JSR303注解进行接口层面的校验 ,参考文章:https://www.ibm.com/developerworks/cn/java/j- ...
- js中VO解析
执行环境(环境) 执行环境的用处 执行环境定义了变量或函数有权访问的其他数据,每一个执行环境都存在一个关联的变量对象(VO),代码无法访问,内部解析器会使用它,如果环境为函数,则将函数的AO作为VO, ...
- DP问题(1) : hdu 2577
题目转自hdu 2577,题目传送门 题目大意: 现给你n个区分大小写的字符串,大小写可用Caps Lock和shift切换(学过计算机的都知道) 但是有一点需要注意(shift是切换,若现在是大写锁 ...
- C++中vector小学习,顺便查了下<stdio.h>(或<cstdio>)
今天看书,邻桌在看<C++ Primer>,拿过来看了一会儿.以前比较少用vector容器,看了下后,瞬间觉得好腻害的样子,就想试一下.嗯,就是试一下而已.(代码可能网上都差不多,有参考) ...
- 使用numpy处理数组
def fun_ndarray(): a = [[1,2,7], [-6,-2,-3], [-4,-8,-55] ] b = np.array(a) b = np.abs(b)#取数组的绝对值 pri ...