51Testing软件测试论坛

标题: 【已解决】从外部读文件赋值给lr参数遇到\x00截断问题 [打印本页]

作者: 如果弯弯    时间: 2014-12-10 08:55
标题: 【已解决】从外部读文件赋值给lr参数遇到\x00截断问题
本帖最后由 如果弯弯 于 2014-12-11 16:18 编辑

自己手写HTTP协议的上传脚本,因为上传的文件比较大,所以打算lr读取外部文件,然后使用lr_save_string来赋值给lr参数。但是文件中包含了\x00字符,lr_save_string赋值时被截断。各位,有没有什么好的办法呢?恳求指导一下,谢谢代码见截图
回放的时候,被截断,日志如下:Action.c(197): Notify: Parameter Substitution: parameter "isexist" =  "false"
len is: 12842260 bytes
readLen is 12842260 bytes
Action.c(60): Notify: Saving Parameter "bodys = \r\n\r\n锟斤拷\x11唷\xb1\x1a锟\xbd".
Action.c(61): Notify: Parameter Substitution: parameter "bodys" =  "\r\n\r\n锟斤拷\x11唷\xb1\x1a锟\xbd"
body的长度是 18 byte






作者: 土土的豆豆    时间: 2014-12-10 14:37
用web_customer_request可以么?
或者重写save_string函数,将其上升到高层次level,直接用save_searched_string用二进制数组去取值不会有限制。若都是数值型直接用save_int
都比用纯string来的好,否则对象字符串容易有长度限制,坐等其他大大们来解答
作者: 如果弯弯    时间: 2014-12-11 16:17
土土的豆豆 发表于 2014-12-10 14:37
用web_customer_request可以么?
或者重写save_string函数,将其上升到高层次level,直接用save_searched_ ...

谢谢帮忙,你的回帖对我很有启发,现在这个问题算是解决了,用了lr_save_var这个函数来代替lr_save_string就不会屏蔽\x00了。摘录一下QTP自带的函数说明,
The lr_save_string function assigns the specified null-terminated string to a parameter
The lr_save_var function assigns the specified variable length string to a parameter
作者: 土土的豆豆    时间: 2014-12-12 08:54
如果弯弯 发表于 2014-12-11 16:17
谢谢帮忙,你的回帖对我很有启发,现在这个问题算是解决了,用了lr_save_var这个函数来代替lr_save_strin ...

不谢!果然_var也就可以了 我就是没列出来这个 哈哈~
+U




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2