zoukankan      html  css  js  c++  java
  • LR脚本用户自定义C语言函数

    LR脚本实战:用户自定义C语言函数
    Loadrunner可以使用标准C语言的函数,因此我们可以在脚本中编写自己的函数用于调用,把脚本结构化,更好的进行重用。
    先看一个例子:
    Action()
    {
     int i,j;
     j = 1;
     for (i=0;i<10;i++)
     {
      lr_message("i+j=%d",sum(i,j));
      j++;
     }
     return 0;
    }
    int sum(int a,int b)//简单的求和函数
    {
     return a+b;
    }
    例子说明:
    我写了一个很简单的函数sum,求2个整数的和;
    1、函数实现可以放在lr脚本的任意位置(函数的作用域);
       例如action、vuser_init、vuser_end这些脚本的主函数外,则不需要考虑函数的作用域;在任意地方都可以调用。
       如果放到Action()、vuser_init()、vuser_end()这些函数体内,则只有本函数体内才可以调用。
    例如:
    Action()
    {
     int sum(int a,int b)//简单的求和函数
     {
      return a+b;
     }
    
     int i,j;
     j = 1;
     for (i=0;i<10;i++)
     {
      lr_message("i+j=%d",sum(i,j));
      j++;
     }
     return 0;
    }
    上例则只有action内部可以调用sum函数。
    
    2、如果想跳出函数,使用return 0或break即可
    
    再看一个稍微复杂点的例子:
    Action()
    {
     int aa[20];
     CheckChar("AaBbCc001 1 1",aa);
     lr_message("字符串长度为:%d",aa[0]);
     lr_message ("统计-大写字符:%d",aa[1]);
     lr_message ("统计-小写字符:%d",aa[2]);
     lr_message ("统计-数字字符:%d",aa[3]);
     lr_message ("统计-空格字符:%d",aa[4]);
     return 0;
    }
     
    void CheckChar(char ch[],int a[]) //统计函数,分别统计字符串长度;大写、小写、数字和空格的个数,返回整形保存在数组里
    {
     int i;
     for(i=0;i<=3;i++)
      a[i]=0;
     a[0] = strlen(ch);//获取字符串长度
     for(i=0;i<a[0];i++)
     {
      if(ch[i]>='A' && ch[i]<='Z') //如果是大写字符
       a[1]++;
      else if(ch[i]>='a' && ch[i]<='z') //如果是小写字符
       a[2]++;
      else if(ch[i]>='0' && ch[i]<='9') //如果是数字
       a[3]++;
      else if(ch[i]==' ') //如果是空格
       a[4]++;
     }
    }
    写了一个检查字符串成分的函数,只能检查出字符串长度,大写、小写、数字和空格的个数。
    
    由此可见,lr中使用C函数还是比较灵活。
    
    再附上一个指针相关的函数调用:
    
     
    
    Action()
    
    {
    
    int *i, *j;
    
    // *i = 100;
    
      int a=50, b=50;
    
      i = &a;
    
      j = &b;
    
      lr_message("i+j=%d",sum(i,j));
    
     return 0;
    
    }
    
    int sum(int *a,int *b)//简单的求和函数
    
    {
    
     return *a + *b;
    
    }
    
  • 相关阅读:
    myeclipse 代码提示(alt+/)
    彻底解决mysql中文乱码
    Pycharm取消默认的右击运行unittest方法
    解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.
    language support图标在哪里?怎么消失了?
    Ubuntu安装谷歌输入法或者搜狗
    最大流算法-ISAP
    WC2013-糖果公园
    bzoj4032-最短不公共子串
    bzoj1031-字符加密
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4523177.html
Copyright © 2011-2022 走看看