3、定义脚本中变量类型
4、初始化数据
5、lrt_tpalloc分配缓冲区空间
pFml = (FBFR32 *)lrt_tpalloc("FML32",0,4096);
6、lrt_Finitialize32初始化缓冲区
lrt_Finitialize32((FBFR32 *)pFml);
7、组装报文,lrt_Fadd32_fld根据缓冲区结构把字段信息添加到缓冲区
lrt_Fadd32_fld((FBFR32*)pFml,"id=167813666","value=\220\074""3\001\n",LRT_END_OF_PARMS);
8、发送lrt_tpcall请求
lrt_tpcall( "SVCName", (char *)pFml, 0, &MsgRcv, &rcvlen, 0 );
9、判断返回的信息是否正确(看你是不是有这个需求)
10、使用lrt_tpfree释放申请的请求和应答buffer空间(也就是对有lrt_tpalloc获取的缓冲区进行释放)
lrt_tpfree((char *)pFml);
11、对每个变量和每一步执行代码做注释,要养成写完脚本后做注释的习惯
三、脚本调试部分
对与调试部分对脚本来说是十分重要的一块,写完脚本后,必须验证脚本。运行脚本对不同的日志提示进行相应的调试即可,可以通过设置断点(F9),单步执行(F10),增加日志函数等方法调试脚本。由于脚本调试过程中遇到的问题多样化,解决的办法也各不相同,这里不再赘述。
补充:
组装报文的形式(据我知道的):
1、在脚本中直接通过strcat()函数和lr_eval_string()函数组合或使用sprintf()函数和lr_eval_string()函数组合组装报文(在其中可以对报文做参数化操作),然后把报文串赋值给一个字符串。
2、如果本次性能测试不要求对报文做参数化,并且项目组给的报文数据是以二进制格式或其他格式的文件(如****.bin、***文件)存在的话,我们也可以写C代码读取数据文件信息(具体读取文件操作的代码可以参照VuGen帮助文档),把报文发给后端。
手工编写脚本是一项技术性要求很强的工作,更能提高测试工程师的技术水平。尽管通过纯手工编写的脚本也对服务器施加了压力,但是它忽视了用户端的处理逻辑。在尽量模拟真实环境中用户操作的原则下,这样是否更能真实模拟用户的操作,还有待进一步研究。