51Testing软件测试论坛
标题:
【疑惑】socket协议的脚步,关联函数和转义符号的使用问题
[打印本页]
作者:
夏日摸摸茶
时间:
2011-11-19 10:35
标题:
【疑惑】socket协议的脚步,关联函数和转义符号的使用问题
本帖最后由 夏日摸摸茶 于 2011-11-19 10:36 编辑
目的是对socket协议的脚步中的buf数据进行关联,如下:
data.ws
recv buf5 109
"{\"onlineEngineers\":
1
,\"freeEngineers\":1,\"waitingUsers\":0,\"servicingU"
"sers\":0,\"position\":1,\"cmd\":\"CMD_ACD_INFO\"}"
想要对onlineEngineers\":和,\"freeEngineers之间的1进行关联:
(1)当使用
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Allnum","
LB=:","RB=,\"free",
1,0,-1);时,
在
未
对双引号和\进行转义时,返回:
Action.c(25): lrs_save_searched_string(socket0, get_last_received_buffer, Allnum, LB=:, RB=,, 1, 0, -1)
Action.c(25): Notify: Saving Parameter "Allnum = 1".
(2)当使用
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Allnum","
LB=:","RB=,\\\"free",
1,0,-1);时,
在
已
对双引号和\进行转义时,返回:
Action.c(25): fiCalcSearchedStringLength: Right boundary not found
Action.c(25): Error : Unable to save to parameter lrs_save_searched_string :. Error code : 9015.
疑问:
未对双引号和\进行转义时,能回放通过,已进行转义后,提示找不到右边界,为什么呢???是转义符号使用的有问题??
作者:
云层
时间:
2011-11-19 12:23
建议你把左右边界写的到位一点
作者:
夏日摸摸茶
时间:
2011-11-19 14:56
本帖最后由 夏日摸摸茶 于 2011-11-19 14:57 编辑
回复
2#
云层
最开始左右边界都挺长的,但都会同时包含\和",而且这两个还挨着,用转义的话,得这样写 [url=]\\\[/url]"才能表示buf中的\",但这样写就报错了,后来我排错的时候把左边界弄短了,用右边界来测试,结果还是没找到原因。
作者:
夏日摸摸茶
时间:
2011-11-21 10:23
继续求助。。。。。。。。。。
对\" 进行转义,由于需要转义的两个字符挨着,使用\\\" 难道有问题???
作者:
夏日摸摸茶
时间:
2011-11-21 11:26
原因:
真正的BUF 里面的字符串是这样的 "onlineEngineers":1,"freeEngineers"
所以只需考虑在这个字符串上转义,不必考虑 LR 给你展现的报文,那是经过转义后的
即:使用
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Allnum","LB=:","RB=,\"free",1,0,-1);就能够成功关联;
总结:
在所有socket脚本的buf内容中,当要指定关联函数的左右边界时,忽略buf中显示的 \,只对双引号进行转义。
另外:
任何脚本中的\ 不需要转义
任何脚本中的" 都需要转义
作者:
真实的追求者
时间:
2011-11-28 16:04
作者:
iori422
时间:
2013-7-24 14:51
有帮助,谢谢分享
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2