51Testing软件测试论坛

标题: 请教一个DataTable的问题 [打印本页]

作者: monalisali    时间: 2010-6-10 14:10
标题: 请教一个DataTable的问题
各位网友,我在使用Datatable时遇到一个问题,望指教。

请先看截图:

[attach]62887[/attach]
用QTP自带的Flight程序录制了一个预订机票的脚本。对这几个对象进行了 Datatable操作: DateOfFlight, FlyFrom, FlyTo。 Datatable参数请见插图。

代码在此:
[attach]62910[/attach]

问题描述:

请注意看”红色框“中的内容(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 编辑 ]
作者: monalisali    时间: 2010-6-10 15:24
没人回吗?自己顶一个
作者: mzhy    时间: 2010-6-10 17:36
应该是找不到那个航班。第二次递归的时候,航班信息里面没有那个航班!
作者: monalisali    时间: 2010-6-10 21:27
标题: 回复 3# 的帖子
谢谢回复,但是航班信息里面有那个航班的。。。。。。。。。。。。。
作者: mzhy    时间: 2010-6-11 08:46
确定?到达的地点不同,航班应该不会一样的!
作者: monalisali    时间: 2010-6-11 10:08
标题: 回复 5# 的帖子
感谢这位朋友的回复

起先我也怀疑是航班找不到,所以索性把 “From Object” 也参数化了 具体如下:

date        depart    destina                flight
111111        London  Denver        20288   LON   08:12 AM   SEA   03:23 PM   AA     $112.20
121212        London        Paris        12430   LON   12:15 PM    PAR  01:55PM   SR     $153.40

可还是出现相同的问题。
作者: yzz_19    时间: 2010-6-11 10:27
你把你的代碼貼出來給大家看看啊.
作者: monalisali    时间: 2010-6-11 10:42
标题: 回复 7# 的帖子
代码已经贴上了
作者: monalisali    时间: 2010-6-11 16:00
没人回吗?自己顶一个
作者: rinjy    时间: 2010-6-12 11:27
这个问题用随机数设置就可以解决了。
作者: monalisali    时间: 2010-6-13 14:55
具体如何做呢? 能否写的详细一点
作者: rojer521    时间: 2010-6-18 20:53
我录制了和楼主一样的代码试了一下,参数化选择楼主给出的,也出同样的问题;
我就在想Select DataTable("flight",dtGlobalSheet) 中 select 的数据是不是真的和列表中的不一样呢?
重新录制了一下选择“12430   LON   12:15 PM   PAR   01:55 PM   SR     $153.40”,将其粘贴到notepad,然后复制DataTable中的数据也粘贴到notepad,问题出来了,[attach]63085[/attach]楼主在参数化时不够细心啊

[ 本帖最后由 rojer521 于 2010-6-18 20:54 编辑 ]
作者: monalisali    时间: 2010-6-21 16:45
感谢楼上两位朋友的答复

1. rojer521 朋友是正解。
   错误的根源是 Datatable中航班数据与程序中的“航班信息表”中的数据不匹配。虽然它们的数据内容是一样的,但是我忽略了“空格”!空格也算一个字符的。没想到QTP的数据验证这么严格
   谢谢这位朋友的解答。


2. 小荣乱舞的 system.Run "启动程序的路径"方案我也试过了,但不成功
   我在首行输入了 system.run " C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app"
  运行到第一行时就报错了,是不是我哪里理解错了,不过还是谢谢你的解答^_^。




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