51Testing软件测试论坛

标题: 实在不明白,报告显示的结果明明一致,怎么说错误呢? [打印本页]

作者: vincenthan    时间: 2009-6-12 16:24
标题: 实在不明白,报告显示的结果明明一致,怎么说错误呢?
在QTP脚本中取得运营距离字段的值,作为实际的结果,我通过模拟数据库存储过程计算出预期结果,我将这两个值比较,一致就在报告中写正确,并显示值,错误也一样显示,但我看到的明明一致啊,怎么会显示不一致呢,真是奇怪。
If csng(rec("sum_working_distance").value) = csng(station_mileage) Then '验证运营距离
reporter.ReportEvent micPass,"运营距离正确","预期运营距离为"&csng(station_mileage)&",实际测试结果为"&csng(rec("sum_working_distance").value)
else
reporter.ReportEvent micFail,"运营距离错误","预期运营距离为"&csng(station_mileage)&",实际测试结果为"&csng(rec("sum_working_distance").value)
End If

[ 本帖最后由 vincenthan 于 2009-6-12 16:26 编辑 ]
作者: b47617    时间: 2009-6-12 16:29
是不是有空格
作者: intothestorm    时间: 2009-6-12 17:34
标题: Try this
If CInt(csng(rec("sum_working_distance").value) )= CInt(csng(station_mileage)) Then '验证运营距离
作者: onlonely    时间: 2009-6-13 09:35
楼主的检查点编写方法不可取呀
你应该在判断检查点前,用变量存储下要检查的内容,和预期结果.然后判断,最后输出.
不要检查的时候,取值,也不要输出结果的时候取值,因为这2个时间内可能值变化了.

另外你的存储过程我们又看不见,值看见检查点的代码,
一个检查点只是一个判断,我们也无法具体分析的,
如果可能你得做调试,给出调试结果.
作者: hihotb    时间: 2009-6-17 16:48
感觉onlonely说的比较有道理
能否单独定义变量来获取他们的值,然后调试中看其输出
作者: lvguobin    时间: 2009-6-18 10:51
改一下
test1=Cdbl(csng(rec("sum_working_distance").value) )
test2= Cdbl(csng(station_mileage))
If test1=test2 Then
reporter.ReportEvent micPass,"运营距离正确","预期运营距离为"&csng(station_mileage)&",实际测试结果为"&csng(rec("sum_working_distance").value)
else
reporter.ReportEvent micFail,"运营距离错误","预期运营距离为"&csng(station_mileage)&",实际测试结果为"&csng(rec("sum_working_distance").value)
End If

[ 本帖最后由 lvguobin 于 2009-6-18 15:22 编辑 ]
作者: jimmyzhou    时间: 2009-6-18 11:59
看看这两个字的数据类型,如果是字符型就不能用等号比较了,要用StrComp还是CompStr忘记了,查下帮助文档
作者: MountLion    时间: 2009-6-20 23:18
电脑基础知识:浮点数不能直接比较相等




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