• 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
  • 相关阅读:
    前端笔记之JavaScript(六)让人头疼的正则表达式
    前端笔记之JavaScript(五)关于数组和字符串那点事
    前端笔记之JavaScript(四)关于函数、作用域、闭包那点事
    前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事
    前端笔记之JavaScript(二)关于运算符&初识条件判断语句
    前端笔记之CSS(下)浮动&BFC&定位&Hack
    前端笔记之CSS(上)语法&文本属性&块/行内元素&选择器&盒模型
    artTemplate--使用artTemplate时,由于json对象属性有数字命名格式 导致调用报错 syntax error
    多线程--做单元测试时,使用线程池发现并没有运行指定代码,直接跳过
    JSP-导入taglib 出现classNotFound异常
  • 原文地址:https://www.cnblogs.com/ychun/p/14295654.html
Copyright © 2020-2023  润新知