码迷,mamicode.com
首页 > 数据库 > 详细

Loadrunner 参数化&参数化策略&参数化mysql

时间:2017-12-01 22:08:16      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:参数   server   自动   块大小   密码   组合   运行   order   分享图片   

  参数化的意义不再赘述,个人认为用到参数化有两种情况:

  1.为了弄一系列的数据供不同的用户去使用,比如并发注册的时候不可能注册同一个账号很多次吧,需要大批量的不同的账号数据来运行,这里就用到了参数化;

  2.当参数不是一个常量,不同情况下值有变化,比如IP地址,就可以参数化,当IP变了后我改下参数就可以,没必要每次去修改脚本里的地址,便于维护代码。

  参数化又有不同的方法,基本都大同小异。这里介绍两种,一种是直接边界参数,还有一种是操作数据库,从数据库里导入数据。

  下面主要介绍多列参数一一对应时的参数化,比如这里需要参数化四个参数,这四个参数是一一对应的:用户名、密码、确认密码、邮箱,参数化步骤如下:

  1.选中需要参数化的对象,右键,点击【Replace with a new parameter

技术分享图片

 

  2.点击【browser】,在脚本目录下新建params目录,用来存放这个脚本的所有参数化数据,选中目录后,点击【create table

技术分享图片

 

  3.点击【edit with notpad】打开记事本,在记事本里输入参数(换行分割),关闭记事本,关闭参数化属性,点击【OK】,这样username就参数化好了

技术分享图片

 

  4.选中密码,重复上述步骤1,进入参数属性页面,选中刚才创建好的Newparam文件,点击【add colum】,点击【OK】

技术分享图片

  5.点击【edit with notpad】打开记事本,逗号后面输入密码参数,保存关闭记事本,关闭参数属性,点击【OK】

技术分享图片

  确认密码、邮箱同步骤五,都创建好后我们来看下参数化策略;

  Select next row【选择下一行】

  技术分享图片

  1.顺序(Sequential):按照参数化的数据顺序,一个一个的来取。
  2.随机(Random):参数化中的数据,每次随机的从中抽取数据。
  3.唯一(Unique):为每个虚拟用户分配一条唯一的数据

 

  Update value on【更新时的值】

  技术分享图片

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

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

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

  组合起来就有9种策略,如下:

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条相同数据

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


  综上所述,我们这里的注册需要每次的数据都不一样,那么我们就选第7中策略,Unique+Each iteration,第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。当迭代次数大于参数化数据时会报错,设置如下:

  技术分享图片

  

  接下来介绍下从数据库里导入参数,因为sql server百度里已经有很多介绍,这里不再赘述,主要讲下mysql,mysql的数据库驱动需要自己安装,这里给个路径,大家上官网上下就行:

  https://dev.mysql.com/downloads/connector/odbc/

技术分享图片

  下载好后按默认的设置安装完成即可,这里我们拿登录举例,我们直接从数据库里查询到用户名作为参数。

  1.参照上面的第一步,进入参数属性页面,依次按下图所示点击

技术分享图片

 

  2.继续依次按下图所示点击

技术分享图片

 

  3.选中刚才安装的mysql驱动,点击下一步,点击完成

技术分享图片

 

  4.数据库信息如下填写,测试成功后,点击【OK】,【确定】,知道回到步骤五的界面

技术分享图片

 

  5.sql中输入查询语句,点击【finish】后,参数化就成功了

技术分享图片

技术分享图片

 

  以上就是鄙人对参数化的粗浅认识,如若有不妥之处还望指正,感谢!

 

Loadrunner 参数化&参数化策略&参数化mysql

标签:参数   server   自动   块大小   密码   组合   运行   order   分享图片   

原文地址:http://www.cnblogs.com/znyyy/p/7944411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!