因代码编程能力不强。
所以在录制&回放&执行是会遇到各种问题。
录制Web脚本时,生成的脚本中存在乱码该如何解决?
录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。再次录制,就不会出现中文乱码问题了。
这个不一而定。我这边由于服务器编码格式原因,返回的中文也是乱码的。中途有帮另一个项目组录制web脚本,因服务器构建一致,所以也是乱码的。
因我这边系统主要用的Socket和WebService协议,所以HTTP等其他就不多做收集了。PS,这2种脚本不进行录制,Socket脚本是用C写的,但公司基本上都是用的Java,所以也在慢慢整理java脚本,本人不会java。。。
socket脚本中,最容易遇到的一个问题是接收的buff长度不一致,则会有个waittime 10s,因为你在data.ws中定义了recv buffer的长度,例如你定义为100,但是socket上的返回buffer长度不是100,这时候,loadrunner会尝试再次去读取,直到读到长度为100的buffer才算成功。尝试多次,超时时间为多少?loadrunner默认为10s,所以你这里才会有等待10s的情况出现。
实际情况,多数socket返回的响应buffer是变长的,这种情况下我们可以采取如下措施解决:
1. lrs_set_receive_option(EndMarker, EndMarker_None ) // 读取直到缓冲结束.
2. lrs_set_receive_option(EndMarker, StringTerminator , "\r\n") //读取直到"\r\n"符号出现 . 你可以根据自己的接收数据的结束符修改
3. lrs_set_receive_option(EndMarker, BinaryStringTerminator , "\\X00") 读取直到二进制符号"\\X00"出现
Action.c(111): Error: C interpreter run time error: Action.c (111): Error -- memory violation : Exception ACCESS_VIOLATION received.
解决方法:将数组定义修改为char buffer[1024]=""; 即可。 PS:根据需要可以将数组长度设置更长一些。