脚本开发遇到的问题:

1)被业务场景所迫: 所有用户都输入相同的数据,不能体现出真实的业务环境。(搜索操作)

2)被系统体系所迫: 存在缓存,不能体现出真正的性能。

3)被系统业务约束所迫: 有些系统禁止一个用户多次登陆的系统,也就严重到无法测试的地步 了。

Loadrunner中提供一种机制帮助解决上述问题, 叫参数化(parameterization)

 参数化

LoadRunner中的参数化和 函数的参数 不要混淆

那些能参数化

大部分情况下只有函数的参数才能参数化,但也不是所有函数的参数都可以参数化。

需要参数化的:

1、登陆认证信息

2、一些和时间相关的,违反时间约束的

3、一些受其他字段约束的

4、一些来自于其他数据源(例如数据库的)

5、其他在运行过程中需要变动的

Action()
{
    int i={NewParam}; //错误的参数化
    return 0;
}
Action.c (3): undeclared identifier `NewParam'

参数化方法

下面演示参数化

Action()
{
    web_url("s", 
        "URL=https://www.baidu.com/s?wd=ccc", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=http://www.baidu.com/", 
        "Snapshot=t6.inf", 
        "Mode=HTTP", 
        LAST);
    return 0;
}

LoadRunner 参数化

运行结果

LoadRunner 参数化

下面对,kw进行参数化。右键ccc

LoadRunner 参数化

LoadRunner 参数化

LoadRunner 参数化

这时候参数化后,显示参数化变量。前后大括号在 tool-generaloptions设置。

LoadRunner 参数化

设置参数内容:右键参数名

LoadRunner 参数化

LoadRunner 参数化

可添加列,searchtext.dat文件在保存路径下。

用记事本编辑,记事本最后一定要且只有一个空行。不然lr会报错。

设置action迭代次数为3.可将每次请求的kw换成数据列中的数据。

运行将参数输出到log。

LoadRunner 参数化

运行结果:

Action.c(3): 通知: 参数替换:参数“searchtext”=“ccc”
Action.c(3): 通知: 参数替换:参数“searchtext”=“bbb”
Action.c(3): 通知: 参数替换:参数“searchtext”=“aaa”

2、参数化取值方法

select next row : 获取下一行数据的方式

   Sequential:顺序

   Random:随机

 

当参数文件为:

text
1
2
3
4
5

前面2种对于虚拟用户来讲,都是按以下顺序执行:

user1:1,2,3,4,5,
user2:1,2,3,4,5,
user3:1,2,3,4,5,
user4:1,2,3,4,5,

   Unique:唯一。这个值,我这个user选了这个参数,其他的user都不能选。

LoadRunner 参数化

参数searchtext的值为

searchtext
1
2
3
4
5

代码

Action()
{
    lr_output_message("当前的参数值是:%s",lr_eval_string("{searchtext}"));
    return 0;
}

1、选择AbortVuser。Action迭代6次返回结果。超出范围,Vuser被终止。

Action.c(3): 通知: 参数替换:参数“searchtext”=“5”
Action.c(3): 当前的参数值是:5
正在结束操作 Action。
正在结束迭代 5。
正在开始迭代 6。
错误: 参数 'searchtext': 表 'searchtext.dat' 中没有该参数的其他唯一值[唯一范围是 1-5]。根据“When Out Of Values”策略,Vuser 被中止。
View Code

相关文章:

  • 2021-12-26
  • 2022-02-11
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2021-07-05
  • 2021-09-02
猜你喜欢
  • 2021-09-08
  • 2021-05-29
  • 2021-09-15
  • 2022-12-23
  • 2021-09-30
相关资源
相似解决方案