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 ...
随机推荐
- 算法竞赛入门经典 LA 4329(树状数组)
题意: 一排有着不同能力值的人比赛,规定裁判的序号只能在两人之间,而且技能值也只能在两人之间 问题: <算法竞赛入门经典-训练指南>的分析: 上代码: #include<iostre ...
- day4_常用的内置函数
# dict() 工厂函数, 生成字典 a = dict(u=2, i="hello", **{"kk":"cc"}) a = dict(y ...
- Windows解决端口占用问题
Windows解决端口占用问题 步骤 1. win + R,输入cmd回车进入dos界面 2. 输入netstat -ano|findstr 8080 查看占用8080端口的进程 3. 输入taskk ...
- zzL4自动驾驶中感知系统遇到的挑战及解决方案
本次分享的大纲: Perception Introduction Sensor Setup & Sensor Fusion Perception Onboard System Percepti ...
- WebJars简介 —— 前端资源的jar包形式(以后接触到再深入总结)
对于日常的web开发而言,像css.js.images.font等静态资源文件管理是非常的混乱的.比如jQuery.Bootstrap.Vue.js等,可能每个框架使用的版本都不一样.一不注意就会出现 ...
- n8n 基于node 的流程自动化工具
n8n 是基于node开发的流程自动化工具,提供了可视化的操作,我们可以用来集成不同的服务. 目前已经提供了很多的服务集成组件,同时我们也可以方便的自己扩展,后边会进行一个系统的 学习,同时介绍下使用 ...
- tornado之获取参数
self.write() # 返回字符串 self.redirect() # 重定向 self.render() # 返回html页面 一. 获取url中携带的参数, 如: 127.0.0.1: ...
- 【day02】PHP
一.数据类型(8个主要数据类型和4个伪类型) 1.8个主要数据类型 (1)标量类型(存储单一值) a.整型(Integer Int) b.浮点型(Float Do ...
- 在程序中修改IP win7 winXP(参考1)
https://blog.csdn.net/bbdxf/article/details/7548443 Windows下程序修改IP的三种方法 以下讨论的平台依据是Window XP + SP1, 不 ...
- 初探Java设计模式5:一文了解Spring涉及到的9种设计模式
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...