SilkPerformer使用点滴[2] 软件测试
如果在第二行里面使用FileGetRndRow(hfile)函数,随机的在参数化文件里取数的话,当并发量大的时候,难免会造成取数冲突。所以在这里,用了GetUserId()来制定了那一个虚拟用户用那一个用户名和密码登录,这样就不存在冲突的问题了。
四、插入数据的问题
在压力测试中,用户测试用例中经常会有增加数据这样的业务。所以对插入数据的主键要进行必要的定制,不然加压时插入同一条数据,肯定是会出错的。但是插入数据的主键值又分为两种,一种是服务器端自动生成的,一种是客户端自己输入的。对于后一种就必需对数据进行处理。
在silkPerformer中有几个函数可以帮助我们处理这样的业务:
GlobalVarSet(in sVariable : string,
in nValue : number,
in nTimeout : number optional): boolean;
这个函数用来设定一个全局变量的值。
GlobalVarInc(in sVariable : string,
in nInc : number,
out nValue : number,
in nTimeout : number optional) : boolean;
此函数用来给这个全局变量递增。
GlobalVarGet(in sVariable : string,
out nValue : number,
in nTimeout : number optional) : boolean;
这个函数用于从全局变量中取数值。
GlobalVarSet("CustID1",40000);
GlobalVarInc("CustID1",1,nCustID);
sCustID : = "2300" + string(nCustID);
从上面三行代码,我们可以看到,把主键的值sCustID不断的递增了,从而保证主键的唯一。