戒情人 发表于 2009-10-26 12:19:12

这个数据比较为什么会失败?

表格中具体某一行某一列(具体一个单元格)的数据为空,选中这行数据,再点击“显示”按钮,将显示这条数据的具体信息,相应那个单元格的信息也为空,为什么用脚本做比较就不成功呢?难道是因为显示界面上那个编辑框后面跟的那个选择小三角吗?

[ 本帖最后由 戒情人 于 2009-10-26 12:36 编辑 ]

testlab 发表于 2009-10-26 12:36:21

数据格式可能不一致

浪少 发表于 2009-10-26 13:50:56

表达不清楚::yiwusuoyou:::

戒情人 发表于 2009-10-26 14:00:01

请大家给出一个具体的解决方法,谢谢了

zero0223 发表于 2009-10-26 14:44:01

表达不清楚。。。

dabie 发表于 2009-10-26 17:25:49

取值打出ASC码确定是否为空,

ls_721521 发表于 2009-10-26 17:45:33

1.转换下格式 isnumeric()
2.数据有空格
3.或者你取的属性值有问题。。
4.。。。。

wangshuman 发表于 2009-10-26 17:58:52

感觉是你取的属性值有问题,显示界面上用的是下拉框显示,程序实现的时候一般记录的是它的index值,而在表格中取的是value值

戒情人 发表于 2009-10-26 18:28:43

这是我的脚本

'把WebTable中那个单元格的值设为R1
R1 = Browser("....").Page(".....").WebTable("....").GetCellData(2,3)
'把那个单元格在显示界面上对应的编辑框的值设为R11
R11 = Browser(".....").Page("........").WebEdit("......").GetROProperty("value")
If R1 <> R11 Then
       Reporter.ReportEvent micFail,"第三列数据","显示错误"
      msgbox R1
      msgbox R11
end if

脚本运行结果就是两个数据不相等,但是把两个数据输出,显示的都是空。不明白怎么了

[ 本帖最后由 戒情人 于 2009-10-27 10:25 编辑 ]

lyscser 发表于 2009-10-26 21:10:50

大佬你用一下trim会死啊;P

还有,webtable到底是不是第二行也很难说哦,你写一个For循环,print R1、R11、(R1=R11),逐行看看不就得了
另外空值的恒等判断多写几个分支去判断是不是安全些呢,我也没有试验过空值的判断:lol
If   A is null and B is nullThen
   print "equals"
ElseIf A is null and B is not null Then
    print "not equals"
ElseIf A is not null and B is null Then
    print "not equals"
ElseIf A is not null and B is not null Then
   Iftrim(A) = trim(B) Then
      print "equals"
   Else
       print "not equals"
   End If
End If

戒情人 发表于 2009-10-27 10:27:47

谢谢大家的帮助,就是空格的问题。
页: [1]
查看完整版本: 这个数据比较为什么会失败?