最近调试Web协议脚本的工作做的比较多,有了一些收获,于是写下来。
1、设置断点
其实和很多开发工具一样,LR中也能设置断点,具体菜单在:Insert - Toggle BreakPoint;
设置完断点后,当调试执行该脚本时,即会在该处停留,其后的步骤可以使用单步执行等。LR比较笨的是,断点是和行数绑定的,而不是和脚本。我经常在脚本的前面增加代码后,导致断点失位。我用的版本是8.0,不知道现在的新版本有没有改进这些问题。
2、增加Log
一种办法就是手工打Log;
我比较喜欢这样,但只是在需要调试参数的时候使用;在某一行写上类似于lr_log_message("getvalue:ParamVUID_Nbr %s", lr_eval_string("{ParamVUID_Nbr}"))这样,就可以了。执行到这一步骤时,会在日志中打出该参数的值,如getvalue:ParamVUID_Nbr 001001。
另一个办法就是在RunTimeSetting中设置ExecuteLog了。
分别有三种ExecuteLog。
ParameterSubStitution:日志中显示每行脚本中执行时的参数;
DataReturnByServer:日志中显示从服务端返回的值,这招在手工关联时非常管用;大家在手工关联需要动态获取服务端返回值的时候肯定都会去ViewTree的吧?但是有时候Tree不显示,告诉你:无法显示XML。这时候想要知道服务端究竟回给了哪些数据就可以使用这个ExecuteLog了。不过我现在也很懒,很少有耐心去打印这个日志,当我想知道服务端回给了哪些值的时候,我就直接去脚本目录查看data目录下的文件~~汗啊
AdvancedTrace:日志中显示每行脚本中执行的函数以及参数;这个我用的时候觉得没啥意思。
3、被测系统日志
有时候这样做需要有开发人员的协助;在VUGenerator模拟执行的过程中被测系统也可以在关键步骤中打印日志,这样可以更好的协助测试人员调试脚本。
不过大部分脚本调试起来都不会很麻烦,以上几个步骤完全是因为在广州做入网测试的时候,电信方要求过多,被逼出来的~