LoadRunner参数化详解

2023-11-03

LoadRunner参数化详解

距离上次使用loadrunner 已经有一年多的时间了。初做测试时在项目中用过,后面项目中用不到,自己把重点放在了工具之外的东西上,认为性能测试不仅仅是会用工具,最近又想有一把好的利器毕竟可以帮助自己更好的完成性能测试工作。这算是一个认知的过程吧!

  在次安装打开loadrunner时,发现虽然自己的思想还在,但已经非常生疏了,好多设置都找不到了具体的位置。下面说参数化参数化是性能测试中时最常用的一种技巧吧!这里需要说明的是,不是只有loadrunner才可以设置参数化,我以前所使用的JMeter同样也有类似的设置。

  我们知道性能测试工具是模拟多个用户对系统的性能进行验证(这种说法不完全正确),有些系统允许多个完全相同的用户同时对完全相同的数据做完全相同的操作,有些则不允许。比如,邮箱一般允许同一个账号在多处登陆。而我们的QQ账号肯定是不允许的。再比如,你注册某个系统时,用户名是不能有重复。但密码却可以。所以,这么多个情况都要用到参数化技巧。

  我们这里通过loadurnner录制一个139邮箱的登陆。下面是截取的一小段代码

 

........web_submit_form("Login.ashx""Snapshot=t3.inf", ITEMDATA, "Name=UserName""Value=chongshi", ENDITEM,"Name=Password""Value=123456", ENDITEM, "Name=VerifyCode""Value=", ENDITEM, "Name=auto""Value=<OFF>", ENDITEM, EXTRARES,......

下面看一下如何通过loadrunner对用户名密码参数化。标红的内容就是登陆的用户名和密码。

 

 参数化的方法                                                                           

选中要参数化的内容。

方法一,右键---Replace with a new parameter

方法二,菜单【insert----new Parameter】 



Parameter Properties (参数属性对话框)----我们的参数化设置就通过这个对话框完成。

 

参数化的方式

其实参数化得方式有很多种,这里简述几种比较常见人方式。其实方式略有不同,但其结果都是将数据添加进来。

1、 编辑数据

点击Create Table 会出现表格,在表格,再次点击Edit with Notepad ,然后会打开一个记事本,我们可以对记事本进行添加数据 


 

2、 添加txt数据文件

 点击File输入框后面的“Browse..”按钮,找到本地的txt数据文件,进行添加就可以了。


需要注意的是,文件里面的数据不要乱写,每条数据一行,不然会读取有误。

 

3、 数据库添加数据

在很多情况下,我添加的数据不是十条二十条,也不是一百两百,如果还通过上面的两种方式添加,我想会是一件非常纠结的事情。所以我们可以通过数据库将数据导入。你是否疑虑数据库的数据怎么弄,数据库的数据生成非常简单,可以写一段简单的代码生成,也可以通过数据库数据生成工具来完成

点击Date Wizard 打开连接数据库向导。 


这里先告诉你有这种方式,后面再介绍具体操作。^_^

 

4、 其他类型设置

如果我们要参数化的不是一个文件,比如是特定的日期时间,可以从Parameter type 列表中进行选择



这里可以设置日期时间格式,循环迭代方式,不过除了file类型外,其他用的不多。其他类型用法我也不是十分了解。

 

参数化之间的关联                                                                 

  前面我们已经对用户名进行了参数化,或对密码进行了参数化,这样是不是脚本就能正常跑了,不好说。因为用户名和密码不是一一对应关系,每次运行脚本时取的用户名和密码没有对应上的话肯定就会出问题。

假设,我们已经对用户名已经进行了参数化,参数名为【username】,下面设置密码参数化与用户名关联。


 点击“Properites…”会打开编辑用户名参数化窗口。File列表框中,刚才保存用户名信息的文件"username.dat"。


点击“Add Column,添加新的一列信息,用于放置密码。

 

点击“Edit with Notepad”再次编辑参数化数据文件,使用户名密码建立一一对应关系。


完成之后,我们已经成功对用户名和密码进行了参数化,并且让用户名和密码形成了对应关系。

 

数据分配与更新方式                                                                       

  脚本设置完参数化,脚本运行的每一遍所取的参数化的值都不一样,那么这个值按照个什么情况来取呢?会有很多种方式

Select next row【选择下一行】:


顺序(Sequential:按照参数化的数据顺序,一个一个的来取。

随机(Random:参数化中的数据,每次随机的从中抽取数据。

唯一(Unique:为每个虚拟用户分配一条唯一的数据

 

Update value on【更新时的值】: 


每次迭代(Each iteration) :每次迭代时取新的值,假如50个用户都取第一条数据,称为一次迭代;完了50个用户都取第二条数据,后面以此类推。

每次出现(Each occurrence):每次参数时取新的值,这里强调前后两次取值不能相同。

只取一次(once) :参数化中的数据,一条数据只能被抽取一次。(如果数据轮次完,脚本还在运行将会报错)

 

上面两个选项都有三种情况,如果将他们进行组合,将产生九种取值方式。

Select Next Row

【选择下一行】

Update Value On

【更新时的值】

Replay Result

【结果】

顺序(Sequential

每次迭代(Each iteration)

结果:分别将15条数据写入数据表中

功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取

如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条

顺序(Sequential

每次出现(Each occurrence)

结果:分别将15条数据写入数据表中

功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取

如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条

顺序(Sequential

只取一次(once)

结果:表中写入15条一模一样的数据。

功能说明:每次迭代都取参数化文件中第一行的数据。

随机(Random

每次迭代(Each iteration)

结果:表中写入15条数据,但可能有重复数据出现

功能说明:每次从参数化文件中随机选择一行数据进行赋值

随机(Random

每次出现(Each occurrence)

结果:表中写入15条数据,但可能有重复数据出现

功能说明:每次从参数化文件中随机选择一行数据进行赋值

随机(Random

只取一次(once)

结果:表中写入15条相同数据

功能说明:第一次迭代时随机从参数化文件中取一行数据,后面每次迭代都用第一次迭代的数据。

唯一(Unique

每次迭代(Each iteration)

自动分配块大小

结果:分别将15条数据写入数据表中

功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。

注:如果设置迭代次数为16次。结果:在执行第16次迭代时会抛异常,异常日志可在LoadRunner的回放日志(replayLog)中看到。

唯一(Unique

每次出现(Each occurrence)

步长为1

结果:分别将15条数据写入数据表中

功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。

注:如果设置迭代次数为16次,而参数化文件中只有15条数据,明显数据不够。此时可以设置“when out of values”属性来判断当数据不够时的处理方式

Abort Vuser:中断虚拟用户

Countinue in a cylic manage:循环取参数化文件中的值,即:当参数化文件中的值取完后又从参数化文件的第一行开始取值。

Countinue with last value:继续用最后一条数据

唯一(Unique

只取一次(once)

结果:表中写入15条相同数据

功能说明:每次都取参数文件中的第一条数据进行赋值

Ps:关于调用数据库实现参数化的方式,放在后一篇细说。被一个蛋疼的问题和这篇文章折腾一天。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LoadRunner参数化详解 的相关文章

  • 简单的hashmap的实现

    package com public class linkList public final class Node public Object k public Object v public Node next null public N

随机推荐

  • suparc服务器没信号,SupARC对战平台新手上手教程

    11对战平台1 2 8 3 官方最新版 类型 修改器 游戏工具 大小 88 1M语言 中文 评分 9 8 标签 立即下载 这里有各种版本的SupARC客户端供选择 另外还有很多ROM 客户端下载成功后需要玩家注册新账号 新手玩家需要点击 注
  • dell服务器开启64位支持,dell服务器虚拟化开启(戴尔bios设置虚拟化)

    开机按f2进入bios设置界面 将光标移至 advanced 再使用上下方向键将光标移至 以上就是设置戴尔笔记本硬盘模式为ahci教程 有遇到戴尔笔记本不懂的如何修改硬 您好 戴尔电脑 一般进入bios的方法为开机按f2 而开机按f12是选
  • springboot毕设项目外文学术期刊遴选服务平台ba094(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目外文学术期刊遴选服务平台ba094 java VUE Mybatis Maven Mysql 项目运行 环境配置 Jdk1 8 Tomcat8 5 Mysql HBuilderX Webstorm也行 Eclis
  • Python爬取租房信息并保存至Excel文件

    Python爬取租房信息并保存至Excel文件 爬取网页 解析数据 保存数据 本案例为Python编写Spider程序 获取租房相关信息 并保存至Excel文件 大致分为爬取网页 解析数据 保存数据三个步骤 程序具有通用性 只需获取目标网站
  • 大一下第一场

    大一下第一场比赛 太菜了 总结 小错误太多 应该提高严密性 long long scanf lld 有 gt lt 不要忘记了等于的情况 成绩那题 我默认把它看成了小数 其实还有整数的情况 一题有一些小细节没注意导致花了很多时间 诶 长寿的
  • 02-kafka集群搭建

    文章目录 0 服务器准备 1 zookeeper集群 1 1 下载 1 2 拷贝 1 3 配置变量 1 4 配置 1 5 启动 2 kafka 2 1 下载 2 2 拷贝到服务器 2 2 配置文件 2 3 启动 3 使用密码 3 1 配置文
  • win7 计算机属性 灰,打不开win7计算机属性解决方法

    1 点击 开端 单击翻开 记事本 程序 2 复制下面的代码 黏贴到新建的记事本里面 3 Windows Registry Editor Version 5 00 HKEY LOCAL MACHINE SOFTWARE Microsoft W
  • vue-router之 tag 和 v-solt 对比

    1 在vue router4 0之前 我们都是使用 tag 来自定义 router link 渲染成什么标签
  • 获取系统中各应用的运行时间

    通过增加动态库获取应用的运行时间 同事提出一个问题 如何获取嵌入式设备系统中各个应用已运行的时间 这个问题的解决方案有多种 其中一种是使用功能较强的软件作为系统的init进程和服务管理 例如systemd 以它启动各应用软件服务后 可通过s
  • K近邻算法,Matlab实现

    邻近算法 K近邻 通过计算测试样本与训练样本之间的距离 然后找出距离测试样本最近的K个样本 统计他们的结果 哪种类型的的结果出现的次数多则预测测试样本的结果为此结果 代码如下 function label1 KNN training tes
  • Python开发工具PyCharm的web开发教程:创建并运行 Python 项目

    在你开始前 要确定以下两点 PyCharm下载 已完成 安装了 Python PyCharm官方正版下载 要开始使用PyCharm 让我们编写一个 Python 脚本 创建一个 Python 项目 1 如果您在欢迎屏幕上 请单击新建项目 如
  • 关于 “定义_sys_exit()以避免使用半主机模式”的问题

    今天编译一个STM32程序的时候 遇到了一个问题 编译通不过 定义 sys exit 以避免使用半主机模式 void sys exit int x x x 输出的错误信息是 SYSTEM usart usart c 41 error 260
  • MySQL第二讲 MySQL主从架构搭建

    主从架构意义 通过搭建MySQL主从集群 可以缓解MySQL的数据存储以及访问的压力 1 数据安全 给主服务增加一个数据备份 基于这个目的 可以搭建主从架构 或者也可以基 于主从架构搭建互主的架构 2 读写分离 对于大部分的JAVA业务系统
  • python创意小作品-全国青少年创意编程与智能设计大赛Python创意编程比赛

    全国青少年创意编程与智能设计大赛Python创意编程比赛 一 作品类型 1 数字艺术 通过程序生成和展示视觉艺术 具备创意 美感和互动性 2 互动游戏 各种竞技类 探险类 角色扮演类 球类 棋牌类游戏等等 3 实用工具 有实用价值 能解决学
  • vscode js文件没有代码提示

    原因是 产生问题的原因可能是关闭了单纯的js文件中的javascript的提示 1 右下角设置 2 在上边输入 javascript suggest enabled 效果图
  • VBA:对Excel单元格进行合并操作

    Sub hb Dim n n 3 For i 3 To 18 If Range b i lt gt Range b i 1 Then Range b n b i Merge n i 1 End If Next End Sub
  • 自动化测试和性能测试的异同

    对于那些刚刚接触软件测试行业的小白来说 都会有这样一种错觉 觉得性能测试和自动化测试是差不多的 但是如果深入了解 会发现这两者的区分还是很大的 接下来我们就来详细了解一下自动化测试和性能测试的异同之处 首先两者都有一个共同点 那就是在处理脚
  • mysql 投影,MySQL —— select

    select语句使用详解 select语句是基础操作中比较复杂的部分 我们单拿出来详细解析一下 还是以上一篇文章里的student表为例 select from student 查询student表中所有记录 create table st
  • Clion 使用自己编写的 Makefile编译

    Clion 目前支持使用 cmake 来编译代码 如果习惯了自己写 makefile 那么还需要通过 cmake 的 add custom target 来调用make 命令来实现编译了 参考了http stackoverflow com
  • LoadRunner参数化详解

    LoadRunner参数化详解 距离上次使用loadrunner 已经有一年多的时间了 初做测试时在项目中用过 后面项目中用不到 自己把重点放在了工具之外的东西上 认为性能测试不仅仅是会用工具 最近又想有一把好的利器毕竟可以帮助自己更好的完