GetROProperty返回值的赋予和比较
最近遇到一个奇怪的问题,在Excel里比对用户名,如果一致的话,就显示测试成功,不一致就显示测试失败。按照如下的代码,没有任何的问题,取出的用户名和预期的用户名一致,并且测试成功。可是将mySheet.Cells(i,4).value 替换为 Browser("Mercury Tours").Page("Mercury Tours").Frame("info").WebElement("user").GetROProperty("outertext")就出现问题了。
问题比较有特点,就是用户名为全数字的会测试失败。但是查看Excel表,预期的值和实际的值却都是一样的。
用msgbox Browser("Mercury Tours").Page("Mercury Tours").Frame("info").WebElement("user").GetROProperty("outertext")
msgbox TypeName(Browser("Mercury Tours").Page("Mercury Tours").Frame("info").WebElement("user").GetROProperty("outertext"))输出的结果都没有问题,类型是string。
为什么会这样呢?
If Browser("Mercury Tours").Page("Mercury Tours").Frame("info").Exist Then
mySheet.Cells(i,4).Value = Browser("Mercury Tours").Page("Mercury Tours").Frame("info").WebElement("user").GetROProperty("outertext")
If mySheet.Cells(i,3).value =mySheet.Cells(i,4).value Then
mySheet.Cells(i,5).Font.Color = vbBlue
mySheet.Cells(i,5).Value = "测试成功"
Else
mySheet.Cells(i,5).Font.Color = vbRed
mySheet.Cells(i,5).Value = "测试失败"
End If
[ 本帖最后由 wensy 于 2009-3-9 16:47 编辑 ] 数字在写入EXCEL表格时有时会被做一些处理(比如以0开头的0会没掉),看看是不是这方面的原因 我遇到过类似的问题,原因在于两者类型不一样。全数字的一个是数值型,一个是字符型,当然不一样。建议你将两边的值都做一次转换,例如Int(mySheet.Cells(i,3).value) = Int(mySheet.Cells(i,4).value) 这种问题可以用QTP自带的debug功能,设置断点后可以直观获取数据。请注意获取的结果中是否有空格。
回复 1# 的帖子
一般都是用trim()去干掉多余的空格的...可以试试 注意Excel表中的数字一定长度后会变的,你在数字前面加单引号就不会变了另外,可以将两者强制转换为字符串型再比较
页:
[1]