1. 程式人生 > >Loadrunner自定義函式在指令碼中的應用樣例

Loadrunner自定義函式在指令碼中的應用樣例

#include "web_api.h"


int SumFour(int a,int b,int c,int d) //自定義四個整型數字求和函式
{
  if ((a<100) || (a>9000) || (b<100) || (b>9000) || (c<100) || (c>9000) || (d<100) || (d>9000)) 
     { return -1; }
  else { return a+b+c+d; }
}
Action()
{
    int invaild[5]={-1,0,1,99,9001};    //不符合函式要求的數字集合
    int vaild[4]={100,101,8999,9000};    //符合函式要求的數字集合
    int expect[5]={400,404,35996,36000,18200};  //針對vaild陣列的預期結果陣列
    int i;                    //臨時變數
    lr_output_message("SumFour函式要求四個引數均界於100和9000之間:");
    lr_output_message("第一組資料,不符合引數限制資料項,應返回-1:");
    for (i=0;i<=4;i++)
    {
       lr_output_message("%d: SumFour(%d,%d,%d,%d)=%d",i+1,invaild[i],invaild[i],invaild[i],
                           invaild[i],SumFour(invaild[i],invaild[i],invaild[i],invaild[i]));
    };
    lr_output_message("6: SumFour(%d,%d,%d,%d)=%d",invaild[0],invaild[1],invaild[2],invaild[3],
                          SumFour(invaild[0],invaild[1],invaild[2],invaild[3]));
    lr_output_message("第二組資料,符合引數限制資料項,應返回期望值:");
    for (i=0;i<=3;i++)
    {
       lr_output_message("%d: SumFour(%d,%d,%d,%d)=%d 期望值為%d",i+1,vaild[i],vaild[i],vaild[i],
                          vaild[i],SumFour(vaild[i],vaild[i],vaild[i],vaild[i]),expect[i]);
    };       
    lr_output_message("5: SumFour(%d,%d,%d,%d)=%d 期望值為%d",vaild[0],vaild[1],vaild[2],vaild[3],
                       SumFour(vaild[0],vaild[1],vaild[2],vaild[3]),expect[4]);
return 0;
}




執行結果如下:
Running Vuser...
Starting iteration 1.
Maximum number of concurrent connections per server: 4  [MsgId: MMSG-26989]
Starting action Action.
Action.c(15): SumFour函式要求四個引數均界於100和9000之間:
Action.c(16): 第一組資料,不符合引數限制資料項,應返回-1:
Action.c(19): 1: SumFour(-1,-1,-1,-1)=-1
Action.c(19): 2: SumFour(0,0,0,0)=-1
Action.c(19): 3: SumFour(1,1,1,1)=-1
Action.c(19): 4: SumFour(99,99,99,99)=-1
Action.c(19): 5: SumFour(9001,9001,9001,9001)=-1
Action.c(22): 6: SumFour(-1,0,1,99)=-1
Action.c(24): 第二組資料,符合引數限制資料項,應返回期望值:
Action.c(27): 1: SumFour(100,100,100,100)=400 期望值為400
Action.c(27): 2: SumFour(101,101,101,101)=404 期望值為404
Action.c(27): 3: SumFour(8999,8999,8999,8999)=35996 期望值為35996
Action.c(27): 4: SumFour(9000,9000,9000,9000)=36000 期望值為36000
Action.c(30): 5: SumFour(100,101,8999,9000)=18200 期望值為18200
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.