Loadrunner接口压力测试步骤_第1页
Loadrunner接口压力测试步骤_第2页
Loadrunner接口压力测试步骤_第3页
Loadrunner接口压力测试步骤_第4页
Loadrunner接口压力测试步骤_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Loadrunner接口压力测试本案例测试的接口有:EASLogin、WSWSECRMInterfaceFacade说明:在做压力测试之前,我们必须要有相应的脚本。Http脚本可通过Vugen录制生成,然后在Vugen的脚本视图中完善脚本;Webservice不需录制,导入相应的wsdl再配置参数即可生成脚本。在本案例中我们创建Webservice类型的脚本。步骤如下:1. 创建脚本2. 导入wsdl点击打开管理服务继续导入点击确定!3. 配置参数3.1选择相应的接口和方法3.2添加参数的值可自行决定是否添加输出参数,输出参数是用来存储在调用接口的时候返回的值,有了输出参数可以在脚本中通过代码

2、查看返回的信息,本案例这里选择sessionId这就是我们刚才操作生成的脚本代码:4. 完善脚本4.1插入事务在刚才生成的代码前添加开始事务,也可ctrl+t,以同样的方式添加结束事务,添加完之后的脚本代码如下:添加事务的作用是从开始事务点开始计时,在执行到同名的结束事务时结束计时,可得出在开始事务和结束事务之间脚本的运行时间,在这里可得出login操作所用的时间接下里按照第三步,第四步的格式生成剩下的脚本代码,结果如下:可能出现的错误:在做压力测试的时候,mmdrv进程可能会因为CPU占有率过大而出现自动停止的现象,从而导致在压力测试时出现的“由mdrv进程终止导致的非正常终止”错误。解决的

3、办法是在Action适当的位置添加“思考时间”步骤或手动添加lr_think_time(想要设置的思考时间); 例如:lr_think_time(30);这样做的原理是:loadrunner做压力测试的时候运行速度特别快,从而导致资源占有率过高,增加思考时间可以减低压力测试时的运行速度,降低资源占有率5. 参数化参数化的作用是可以将变量的值用参数来传递,也就是说一个变量可以有多个值。比如:数据脚本中的json变量做参数化在原先定义好的参数右键,然后点击替换为参数5.1参数化数据的类型在这里可以选择参数的类型,类型及其作用如下:DateTime: 在需要输入日期/时间的地方,可以用Da

4、teTime 类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。 Group Name: 很少用到。在实际运行中,LoadRunner使用该虚拟用户所在的Vuser Group 来代替。但是在VuGen 中运行时,Group Name将会是None。 Load Generator Name: 在实际运行中,LoadRunner 使用该虚拟用户所在LoadGenerator 的机器名来代替。 Iteration Num

5、ber: 在实际运行中,LoadRunner 使用该测试脚本当前循环的次数来代替。 Random Number: 随机数。很简单。在属性设置中可以设置产生随机数的范围。 Unique Number: 唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接受的最大数为99。当使用该参数类型时,设置第一个数为1,递增的数为1,但100 个虚拟用户同时运行时,第100 个虚拟用户输入的将是100,这样脚本运行将会出错。这里说的递增意

6、思是各个用户取第一个值的递增数,每个用户相邻的两次循环之间的差值为1。举例说明:假如起始数为1,递增为5,那么第一个用户第一次循环取值1,第二次循环取值2;第二个用户第一次循环取值为6,第二次为7;依次类推。 Vuser ID: 设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的ID 来代替,该ID 是由Controller 来控制的。但是在VuGen 中运行时,Vuser ID 将会是 1。 File: 需要在属性设置中编辑文件,添加内容,也可以从

7、现成的数据库中取数据(就是我用到的那种类型)。 User Defined Function: 从用户开发的dll 文件提取数据。在这里我们选择默认的File类型5.2添加参数的方式5.2.1手动插入点击创建表在这里可以可以通过具体的需求,添加相应的行和列,然后可以手动修改对应的值(在图中null那里)可通过记事本的方式来编辑用记事本的方式添加数据的话要注意格式!不然会报错5.2.2导入数据文件参数化的其中一种方式就是在外部数据文件(后缀为dat)导入数据点击浏览,打开准备好的dat数据文件图中可以看到已经自动添加数据5.2.3注意!在使用外部数

8、据文件的时候一定要注意格式问题!在这里我使用的是json的数据,想要成功导进数据需要将原json文件中的 逗号(,)全部替换成 “,”5.2.4从数据库导入这里可自行百度5.3数据分配与更新方式脚本设置完参数化,脚本运行的每一遍所取的参数化的值都不一样,那么这个值按照个什么情况来取呢?会有很多种方式5.3.1选择下一行顺序(Sequential):按照参数化的数据顺序,一个一个的来取。随机(Random):参数化中的数据,每次随机的从中抽取数据。唯一(Unique):为每个虚拟用户分配一条唯一的数据5.3.2更新值的时间每次迭代(Each iteration) :每次迭代时取新的值,假如50个

9、用户都取第一条数据,称为一次迭代;完了50个用户都取第二条数据,后面以此类推。每次出现(Each occurrence):每次参数时取新的值,这里强调前后两次取值不能相同。只取一次(once) :参数化中的数据,一条数据只能被抽取一次。(如果数据轮次完,脚本还在运行将会报错)5.3.3可能出现的情况Select Next Row【选择下一行】Update Value On【更新时的值】Replay Result【结果】顺序(Sequential)每次迭代(Each iteration)结果:分别将15条数据写入数据表中功能说明:每迭代

10、一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条顺序(Sequential)每次出现(Each occurrence)结果:分别将15条数据写入数据表中功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条顺序(Sequential)只取一次(once)结果:表中写入15条一模一样的数据。功能说明:每次迭代都取参数化文件中第一行的数据。随机(Random

11、)每次迭代(Each iteration)结果:表中写入15条数据,但可能有重复数据出现功能说明:每次从参数化文件中随机选择一行数据进行赋值随机(Random)每次出现(Each occurrence)结果:表中写入15条数据,但可能有重复数据出现功能说明:每次从参数化文件中随机选择一行数据进行赋值随机(Random)只取一次(once)结果:表中写入15条相同数据功能说明:第一次迭代时随机从参数化文件中取一行数据,后面每次迭代都用第一次迭代的数据。唯一(Unique)每次迭代(Each iteration)自动分配块大小结果:分别将15条数据写入数据表中功能说明

12、:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。注:如果设置迭代次数为16次。结果:在执行第16次迭代时会抛异常,异常日志可在LoadRunner的回放日志(replayLog)中看到。唯一(Unique)每次出现(Each occurrence)步长为1结果:分别将15条数据写入数据表中功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。注:如果设置迭代次数为16次,而参数化文件中只有15条数据,明显数据不够。此时可以设置“when out of values”属性来判断当数据不够时的处理方式Ab

13、ort Vuser:中断虚拟用户Countinue in a cylic manage:循环取参数化文件中的值,即:当参数化文件中的值取完后又从参数化文件的第一行开始取值。Countinue with last value:继续用最后一条数据唯一(Unique)只取一次(once)结果:表中写入15条相同数据功能说明:每次都取参数文件中的第一条数据进行赋值参数化完之后,我们可以看到原来的null已经变成了NewParam_1,这表示已经将json所对应的值参数化到目前为止我们已经把压力测试的基本脚本都生成了!6.

14、运行脚本运行成功7. 创建Controller压力测试场景设置完之后点击确定,进入到Controller界面7.1测试前的设置可自行设置想要的 值本案例设置完的结果如下:7.2开始测试8. 创建分析结果在菜单栏的 “结果”点击 “分析结果”,或者点击在创建好的分析结果可以看到:在分析结果中可以按照具体的需要添加相应的图,本案例中添加一张对比的图,可以看出根据时间看出两张图曲线的变化在右边图的曲线图区域右键,选择合并图这里可以选择与之合并的图这里可以选择合并图合并的类型这里可以看到多了一张平均事务响应时间-运行Vuser的图9. 配置SLA规则SLA 是为负载测试场景定义的具体目标。 Analy

15、sis 将这些目标与 LoadRunner在运行过程中收集和存储的性能相关数据进行比较,然后确定目标的 SLA 状态(通过或失败)。例如,可以定义具体的目标或阈值,用于评测脚本中任意数量事务的平均响应时间。选择工具 > 配置 SLA 规则。“服务水平协议”对话框打开。单击新建打开向导9.1 为目标选择度量在 “选择目标度量”页面中选择事务响应时间:平均值。单击 Next (前进)9.2 选择事务进行监控。在 “选择事务”页面,可以从可用事务列表 (脚本中的所有事务列表)中选择要监控的事务,这里我们选择 插入数据,点击next9.3 设置加载条件在 “设置加载条件”页面,可以指示 SLA

16、将不同的加载条件考虑在内。从加载条件下拉列表中选择正在运行的 Vuser 数,并将加载值设置为和以下示例类似:已设置 SLA 来确定在三种潜在负载条件下可接受的平均事务响应时间: 轻负载。有 0 至 39 个 Vuser 平均负载。有 20 至 79 个 Vuser 重负载。超过 80 个 Vuser9.4 设置阙值在 “设置阈值”页面,“插入数据” 事务定义可接受的平均事务响应时间。可接受的平均事务响应时间如下: 轻负载。 5 秒以内 平均负载。 10 秒以内 重负载。 15 秒以内9.5 保存SLA要保存 SLA 并关闭向导,可以在后续网页中依次单击 Next 、 Finish和 Close。Analysis 将 SLA 设置应用于默认的概要报告。然后更新报告以包含所有相关的 SLA 信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论