请教一个DataTable的问题
各位网友,我在使用Datatable时遇到一个问题,望指教。请先看截图:
用QTP自带的Flight程序录制了一个预订机票的脚本。对这几个对象进行了 Datatable操作: DateOfFlight, FlyFrom, FlyTo。 Datatable参数请见插图。
代码在此:
问题描述:
请注意看”红色框“中的内容(From Object),该步骤表明在航班表“FlightTable”中任意“选中”了一个航班,航班号即value值。
当运行该脚本时,第一次递归一切正常。第二次递归运行到上述红色框时QTP提示: Cannot Identify the specified item of the From Object. Confirm that the specified item is included inthe object's item collection.
问题:
为什么在第二次递归是会报错? 而且当取消这一步后,即在Flight Table弹出后不选择具体的航班而直接点击OK button,使用默认的第一条航班数据。第二次递归可以正常运行。 这是为什么?请各位高手解答,谢谢
[ 本帖最后由 monalisali 于 2010-6-11 10:42 编辑 ] 没人回吗?自己顶一个 应该是找不到那个航班。第二次递归的时候,航班信息里面没有那个航班!
回复 3# 的帖子
谢谢回复,但是航班信息里面有那个航班的。。。。。。。。。。。。。 确定?到达的地点不同,航班应该不会一样的!回复 5# 的帖子
感谢这位朋友的回复起先我也怀疑是航班找不到,所以索性把 “From Object” 也参数化了 具体如下:
date depart destina flight
111111 LondonDenver 20288 LON 08:12 AM SEA 03:23 PM AA $112.20
121212 London Paris 12430 LON 12:15 PM PAR01:55PM SR $153.40
可还是出现相同的问题。 你把你的代碼貼出來給大家看看啊.
回复 7# 的帖子
代码已经贴上了 没人回吗?自己顶一个 这个问题用随机数设置就可以解决了。 具体如何做呢? 能否写的详细一点 我录制了和楼主一样的代码试了一下,参数化选择楼主给出的,也出同样的问题;我就在想Select DataTable("flight",dtGlobalSheet) 中 select 的数据是不是真的和列表中的不一样呢?
重新录制了一下选择“12430 LON 12:15 PM PAR 01:55 PM SR $153.40”,将其粘贴到notepad,然后复制DataTable中的数据也粘贴到notepad,问题出来了,楼主在参数化时不够细心啊
[ 本帖最后由 rojer521 于 2010-6-18 20:54 编辑 ] 感谢楼上两位朋友的答复
1. rojer521 朋友是正解。
错误的根源是 Datatable中航班数据与程序中的“航班信息表”中的数据不匹配。虽然它们的数据内容是一样的,但是我忽略了“空格”!空格也算一个字符的。没想到QTP的数据验证这么严格
谢谢这位朋友的解答。
2. 小荣乱舞的 system.Run "启动程序的路径"方案我也试过了,但不成功
我在首行输入了 system.run " C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app"
运行到第一行时就报错了,是不是我哪里理解错了,不过还是谢谢你的解答^_^。
页:
[1]