Loadrunner自定義函式在指令碼中的應用樣例
阿新 • • 發佈:2019-02-16
#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.
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.