51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3237|回复: 12
打印 上一主题 下一主题

[原创] 请教一个DataTable的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-10 14:10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位网友,我在使用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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-6-10 15:24:53 | 只看该作者
没人回吗?自己顶一个
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-6-10 17:36:29 | 只看该作者
应该是找不到那个航班。第二次递归的时候,航班信息里面没有那个航班!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-6-10 21:27:17 | 只看该作者

回复 3# 的帖子

谢谢回复,但是航班信息里面有那个航班的。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-6-11 08:46:02 | 只看该作者
确定?到达的地点不同,航班应该不会一样的!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-6-11 10:08:01 | 只看该作者

回复 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

可还是出现相同的问题。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-6-11 10:27:51 | 只看该作者
你把你的代碼貼出來給大家看看啊.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-6-11 10:42:44 | 只看该作者

回复 7# 的帖子

代码已经贴上了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-6-11 16:00:21 | 只看该作者
没人回吗?自己顶一个
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-6-12 11:27:17 | 只看该作者
这个问题用随机数设置就可以解决了。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2010-6-13 14:55:01 | 只看该作者
具体如何做呢? 能否写的详细一点
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-6-18 20:53:12 | 只看该作者
我录制了和楼主一样的代码试了一下,参数化选择楼主给出的,也出同样的问题;
我就在想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 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2010-6-21 16:45:19 | 只看该作者
感谢楼上两位朋友的答复

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


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

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-22 04:05 , Processed in 0.097108 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表