• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

yxchun

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

LoadRunner基础

1、录制脚本

 

 

 

 

 

 2、添加检查点

 

 1)进入树视图

2)进入需要添加检查点的页面

 

 3)定义检查要求

 

 

如:

 

3、输出函数

1)lr_output_message(变量);

2)

 

 3) 出错继续运行的函数

脚本出错后继续运行: lr_continue_on_error(1); 

4、加入事务

 

 

 

 5、使用数据文件参数化

1)

 

 

 

 

 

Action()
{
lr_output_message(lr_eval_string("{test}"));
return 0;
}

 2)设置迭代次数

 

 

3)迭代次数

数据

1)

 

 

Action()
{
lr_output_message(lr_eval_string("第一次:{test}"));
lr_output_message(lr_eval_string("第二次:{test}"));
return 0;
}

结果

Action.c(3): 通知: 参数替换:参数“test”=“1”
Action.c(3): 第一次:1
Action.c(4): 通知: 参数替换:参数“test”=“1”
Action.c(4): 第二次:1
正在结束操作 Action。

Action.c(3): 通知: 参数替换:参数“test”=“2”
Action.c(3): 第一次:2
Action.c(4): 通知: 参数替换:参数“test”=“2”
Action.c(4): 第二次:2
正在结束操作 Action。

Action.c(3): 通知: 参数替换:参数“test”=“3”
Action.c(3): 第一次:3
Action.c(4): 通知: 参数替换:参数“test”=“3”
Action.c(4): 第二次:3

 

2)

 

 

Action()
{
lr_output_message(lr_eval_string("第一次:{test}"));
lr_output_message(lr_eval_string("第二次:{test}"));
return 0;
}

结果

Action.c(3): 第一次:1

Action.c(4): 第二次:2

Action.c(3): 第一次:3

Action.c(4): 第二次:4

Action.c(3): 第一次:5

Action.c(4): 第二次:6

 

3)

 

 


 Action()
{
lr_output_message(lr_eval_string("第一次:{test}"));
lr_output_message(lr_eval_string("第二次:{test}"));
return 0;
}

结果

Action.c(3): 第一次:1

Action.c(4): 第二次:1

 

Action.c(3): 第一次:1

Action.c(4): 第二次:1

 

Action.c(3): 第一次:1

Action.c(4): 第二次:1

 

4)

结果随机

 

Action.c(3): 第一次:5

Action.c(4): 第二次:5

Action.c(3): 第一次:4

Action.c(4): 第二次:4

Action.c(3): 第一次:
Action.c(3): 第二次:

 

 

5)

 

结果

Action.c(3): 第一次:3

Action.c(4): 第二次:3

Action.c(3): 第一次:6

Action.c(4): 第二次:1

Action.c(3): 第一次:4

Action.c(4): 第二次:4

 

 

 6)

 

Action.c(3): 第一次:3

Action.c(4): 第二次:3

Action.c(3): 第一次:3

Action.c(4): 第二次:3

Action.c(3): 第一次:3

Action.c(4): 第二次:3

再次运行,变成全是5

 

7)

 

 

Action.c(3): 第一次:1

Action.c(4): 第二次:1

Action.c(3): 第一次:2

Action.c(4): 第二次:2

Action.c(3): 第一次:3

Action.c(4): 第二次:3

 

8)

 

 

9)

 

 

Action.c(3): 第一次:1

Action.c(4): 第二次:1

Action.c(3): 第一次:1

Action.c(4): 第二次:1


Action.c(3): 第一次:1

Action.c(4): 第二次:1

 

 

6、开启日志 , 控制在场景运行时显示日志信息

 7、参数化

使用file文件数据

1)

 

 

 

2)

 

 

 3)

 

 

 使用sqlserver数据库数据源

1)创建数据库、表,向表中插入数据200条

如

declare @i int=1
declare @uname varchar(50)
declare @pwd varchar(50)
while @i<=200
begin 
    set @pwd=CONVERT(varchar(3),@i)
    set @uname= 'zs'+@pwd
    insert into lr_user values(@uname,@pwd)
    set @i=@i+1
end

2)lr连接sqlserver

开启sqlserver的tcp/ip协议

 

 

 关闭防火墙

 

 

 

设置ip地址,设置在同一网段,使得LoadRunner所在客户机能ping通sqlserver所在的机器

重新驱动数据库服务MSSQLSERVER

 

 

 3)配置lr与数据库的连接

 

 

 

 

 

 

 

 

 

 

 

 

 

输入之后,点击下一步

 

 

 

 

 选择验证方式,以及输入数据库,用户名、密码。点击下一步

 

 

 选择将要连接的数据库,点击下一步

 

 

 点击完成

 

 

 

 测试连接。连接成功后,点击确认

 

 

输入密码点击确定

 

 

 输入查询语句,点击完成

 

 

 可以看到数据库数据已经出现

 

 

 

 

 

 

4)参数化原始数据

 

 

 

 

使用随机数参数化

 

 

 

使用脚本生成随机数参数化

 

产生100-150之间的随机数
Action()
{
   int a,i;
   for(i=0;i<26;i++){
       a = rand()%51+100;
       lr_output_message("%d",a);
   }
    return 0;
}

随机产生26个大写字母

Action()
{
  int a,i;
  for(i=0;i<26;i++){
  a = rand()%26+65;
  lr_output_message("%c",a);
}
return 0;
}

strncat 函数 

strncat(dest, src, n) : 从字符串 src 的开头拷贝 n 个字符到 dest 字符串尾部,从而实现 字符串的连接。

Action()
{
    char a[17],seed[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    int i,ran;
    for(i=0;i<16;i++){
        ran=rand()%62;
        strncat(a,seed+ran,1);
    }
    lr_output_message(a);
    return 0;
}
输出为:0EOzuAyRTAXt3jFfJgnuxD3zrFkr7VWR

 

posted on 2021-01-19 21:43  yxchun  阅读(160)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3