loadrunner笔记2----使用程序批量动态生成脚本

目测试需求:一百个独立用户登录系统进行各自的考评任务,并发运行,每个人的考评任务有些是相同的,有些是不同的。

 

流程分析结果:一百个用户按机构-》职位划分,相同职位的人的考评任务是相同的。

 

分析录制脚本的结果:脚本中动态变化的有:

     用户名(username)与密码(psw),用户名与密码相同;

     机构id,不同用户的对应不同的机构id,用户名与机构是多对一的关系;

     任务id,每个用户的考评任务id都是不同的;

     考评任务的具体内容,内容含考评项id,考评内容,考评标准分值,实际得分值,备注,在提交时发送这些数据到数据库。

 

如果独立的录制每个用户的脚本,然后再组合起来形成对应的测试场景,花费的时间与成本很大,所以考虑自己编写程序来生成所要的脚本。要编写程序生成脚本,我经过了如下几步:

 

第一步:分析脚本的组成;

第二步:分析脚本的组成部分对应那些功能;

第三步:分析脚本那些是动态的,那些是静态的。

 

分析结果:

     录制生成的脚本中:data目录下的文件是录制过程中生成的一些文件,这些文件可以不要;Action.c,Vuser_init.c,Vuser_end.c这三个文件是核心代码,可以把后二者文件的主要内容集中放在Action.c文件里;

     XXXX.usr文件是脚本文件里的一些关联信息,会指明Vuser_init,Vuser_end对应那个文件,其中ParameterFile=指明对应哪个XXXX.prm ,.usr与.prm的文件名相同,不同的脚本对应不同的usr名,这个要动态生成。

 

     globals.h,default.cfg与default.usp三个文件不变。

 

     最后还有一个文件*.dat,这个文件保存的是关联数据,经过手动设置关联后生成。在我的实际脚本中保存的是username,orgid二个数据项。

 

经过上面的分析完后,我从数据库中抽取了如下数据:username与对应的orgid,保存为orgid.txt;username与对应的考评任务id,保存为taskid.txt,username与对应的所有考评项id,保存为items.txt,抽出数据串联成:机构名_职位_用户名,用于生成对应的目录:机构名->职位->用户名,保存为dir.txt

 

     接下来是实际编码实现思路:

     第一步:指定生成的脚本要存放的目录rootDir;

     第二步:根据rootDir,dir.txt生成每个用户脚本的保存目录。

     第三步:在每个用户下生成脚本的空文件:Action.c,Vuser_init.c,Vuser_end.c,globals.h,default.cfg,default.usp,taskid.dat,XXX.usr,XXX.prm等九个文件。

     第四步:在不同用户目录里生成内容相同的文件。

     第五步:在不同用户目录里生成内容有变化的文件。

 

     在实现第五步时,要注意的地方:

     主要是生成Action.c。

     思路:把Action.c文件分成几个文件,有变化的地方就划分;

             变化的地方就编写相应的程序生成所要的内容;

             最后把变化的,不变的串联起来,就是Action.c的全部内容了。

 

具体实现源码参见附件:

动态生成脚本源码.rar

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值