split和unbound函数的组合
上一篇 /
下一篇 2011-03-09 13:25:15
/ 个人分类:QTP学习
由于QTP不识别聊天窗口中的消息显示控件,于是所有的消息获取的text为:
33330000:[2011-3-9 13:29:19]
即时消息
所以,如果想要获取消息内容,可用split函数和unbound函数组合来实现,注:此处只能获取最后一段消息,故想获取输入的全部消息,消息内容不能回车。如下:
Function CheckSMSReceipt()
wait 0,100
s2=Dialog("Lemon").WinObject("WinObject").GetROProperty("text",value)
sr=split( s2,vbCrLf)
If instr(1,sr(ubound(sr)-1),DataTable("发送内容", dtGlobalSheet)) > 0 Then
Reporter.ReportEvent micPass,"短信发送内容通过","预期及实际短信内容都为"&DataTable("发送内容", dtGlobalSheet)
else
Reporter.ReportEvent micFail,"短信发送内容失败","预期短信内容为: "&DataTable("发送内容", dtGlobalSheet) &"实际短信内容为:"& sr(ubound(sr)-1)
End If
End Function
split(s2,vbCrLf)解析:vbCrLf为回车。此举意思是把s2的值,以回车为标志划分开,储存为数组。
ubound(sr)解析:得到sr的最大下标。由于在此消息发送框中,消息结束处也有回车,故数组最后为一空值,实际需要的消息内容为ubound(sr)-1。sr(ubound(sr)-1)表示数组的倒数第二个值,即需要的消息内容。
instr(1,字符串1,字符串2):从第一个位置开始查找,返回字符串2在字符串1中的位置。用来对比消息内容是否正确。
收藏
举报
TAG: