当前位置: 代码迷 >> 综合 >> 【LoadRunner】手把手学会LoadRunner参数化
  详细解决方案

【LoadRunner】手把手学会LoadRunner参数化

热度:60   发布时间:2023-10-12 07:24:02.0

文章目录

      • 1.录制一个简单的登录脚本:
      • 2.然后对用户名和密码进行参数化设置
      • 3.对变量进行传参
      • 4.两个重要选项卡讲解
      • 一些错误的解决方案

1.录制一个简单的登录脚本:

下图是截取的使用Loadrunner自带的飞机订票网站录制登录部分的代码:
【LoadRunner】手把手学会LoadRunner参数化

2.然后对用户名和密码进行参数化设置

此处的sessionID可以进行关联,详情查看上篇博文。
如果我们的多个用户使用的是同一个密码,只是用户名不相同,那么我们可以只对用户名进行参数化,这也可以节约小伙伴们的一些时间。

在本文我们还是都参数化来演示吧:
【LoadRunner】手把手学会LoadRunner参数化

然后就会出现一个小小的框框叫你填写变量名啦:

【LoadRunner】手把手学会LoadRunner参数化

确定之后再看就变成紫色的变量标识了,密码的参数化和用户名一样:

【LoadRunner】手把手学会LoadRunner参数化

3.对变量进行传参

右击变量名,选择这个按钮,也可以使用CTRL+L快捷键:

【LoadRunner】手把手学会LoadRunner参数化

之后我们就进入了参数列表,左侧为变量列表右侧为详细设置:

【LoadRunner】手把手学会LoadRunner参数化

如果我们选择的是使用记事本编辑的话,界面如下:

【LoadRunner】手把手学会LoadRunner参数化
【LoadRunner】手把手学会LoadRunner参数化

当然也可以在界面上直接编辑,添加行、列或者删除行、列,这适用于数据比较少的场景,多的话还是使用数据库导入吧。

【LoadRunner】手把手学会LoadRunner参数化

如果我们把所有参数都保存在了一个文档中,就像下面这样:

【LoadRunner】手把手学会LoadRunner参数化

那么我们可以根据列来选择内容。

【LoadRunner】手把手学会LoadRunner参数化

4.两个重要选项卡讲解

【LoadRunner】手把手学会LoadRunner参数化

  1. Select next row: 选择下一行方法
Sequential 默认 顺序的,按照参数化的数据顺序,从上往下一个一个的来取。
Random 随机取,参数化中的数据,每次随机的从中抽取数据。
Unique 唯一,唯一的向下取值,只能被用一次。Same line as xxx ,和xxx列取同一行的值,(行相同)步调一致
  1. Update value on: 更新方式
 Each iteration 默认 每次迭代时取值 (常用)
Each occurrence 每次遇到该参数时取值
Once 取值仅一次,脚本运行过程中只取值一次值的是:一次选择,终身不变

这两个算下来一共有9中组合方法,每个方法的含义如下:

【LoadRunner】手把手学会LoadRunner参数化

如果,你看不懂我上面的这个表格的话,我们还有一个很厉害的东西!

【LoadRunner】手把手学会LoadRunner参数化

这个东西就是你把上面的都设置好啦,但是不知道具体到底用户运行顺序效果是怎么样的,你就可以点击这个按钮进行模拟,就像这样:

【LoadRunner】手把手学会LoadRunner参数化

这就可以让你直观的看到每一次迭代时到底是使用的哪一个用户名密码啦。

将这些都设置完成之后我们的参数化就结束了。

但是,我们在这个过程中还是会有一些小疑惑

  • 比如说参数化完成之后回访我要怎么执行多次啦?
    这个问题算是比较简单的问题,直接在running setting中设置迭代次数就可以了。

    【LoadRunner】手把手学会LoadRunner参数化
    【LoadRunner】手把手学会LoadRunner参数化

  • 再比如说我迭代了4次之后,我在回放日志中并不能看到我到底迭代的是哪个用户啊?
    这时候我们可以在脚本之后加上这样一句话:

lr_output_message("用户名:%s",lr_eval_string("{name}"));

【LoadRunner】手把手学会LoadRunner参数化

这句话的意思就是将{name}变量中的值以字符串打印出来。
这样的话每次回放的时候,在回放日志中就可以看到你到底迭代的是哪个用户了。

【LoadRunner】手把手学会LoadRunner参数化

  • 在执行过程中我还遇到了几个问题,当然现在已经顺利解决啦,就在这里记录一下解决方法。

一些错误的解决方案

  • Error -27987: Requested image not found [MsgId: MERR-27987]
    这个是指找不到请求的图像,我猜是在录制的时候某个功能是请求的图片而非路径,然后后面迭代的时候就找不到了????(黑人问号?为什么会找不到?)
    解决方法:Recording Options–>Recording–>HTTP/HTML Level–>HTML-based script --> HTML Advanced–>Script type选中第二项:A script containing explicit URLs only。保存就OK了

  • Error -35061: The “CorrelationParameter_1” argument (number 1) is unrecognized or misplaced
    这个是指关联时保存的值超出了长度,在web_reg_save_param_ex方法后面加上一句NotFound=warning,变成下面的这个样子就可以了:

web_reg_save_param_ex("ParamName=CorrelationParameter_1","LB=124481.1","RB=>\n<table border","NotFound=warning",LAST);

最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

  相关解决方案