51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2699|回复: 13
打印 上一主题 下一主题

[原创] 请教一个很简单的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-11-2 17:10:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大家一个很简单的问题,关于qtp
我录制的qtp自身带的订票的那个系统的登录脚本,单机版的,脚本如下:
Dialog("Login").WinEdit("Agent Name:").Set DataTable("p_Text", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").SetSecure DataTable("p_Text2", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
我在数据表里填了三行数据如图:
脚本所在的ACTION也设置了run on all rows
问题:脚本在运行第一行参数的时候可以正常运行,运行到第二行就报错
具体如下:

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2009-11-2 17:36:56 | 只看该作者

回复 1# 的帖子

关注一下,不知道是不是第二次运行后,父对象已被改变呢
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-11-2 17:47:08 | 只看该作者
应该是找不到对象吧~
那个脚本里的表名怎么跟数据表的表名不一样
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-11-2 17:52:45 | 只看该作者
把所有的已经识别的对象都删除后,你再重新录制一遍,这个错误提示信息我也遇到过
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-11-2 17:55:37 | 只看该作者
把你录制的专家视图中的图贴上来看一下
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-11-2 17:56:56 | 只看该作者
如果我没有记错的话,你把第三组的登录名前面用字母开头,不要用数字开头试试
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-11-2 18:51:02 | 只看该作者
脚本是Dialog("Login").WinEdit("Password:").SetSecure DataTable("p_Text2", dtGlobalSheet)
datatable中怎么是p_Text1?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-11-2 20:53:38 | 只看该作者
楼主啊咱俩交流下吧
我今天就想问这个问题呢。。太丢人了一个人在公司搞了很久没搞出来 郁闷死了
msn fmgcool@tom.com

[ 本帖最后由 barcelona 于 2009-11-2 20:59 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-11-3 10:37:28 | 只看该作者
逻辑上没错误的话,查看下close后有没open程序的动作,还是否是速度太快造成的,在open后加个wait(1)试试
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-11-3 11:24:24 | 只看该作者
非常感谢各位的回帖,我是把数据表贴错了,不过那不是问题的根本,在这里对不住大家了,我再把贴图完整的贴一下,大家探讨一下
专家视图:

关键字视图:

数据表:

出现的问题:
用参数化过的用户名和密码进行登录,第一遍可以正常运行,第二遍就会报错,脚本所在的ACTION我已经设置执行所有行,报错如图:

根据各位的回答我逐个回复一下:
1我上次的数据贴图与校本没对应上,实在对不起大家,我没看清楚,是我第二录的时候的贴图,不是这个原因
2我数据表中的用户名都是正确的,不管数字还是字母,不是问题的所在
3我录制时对象库是空的,没有其他项目的对象存在
4我反复录了多遍没有找出问题所在,在8.2和9.2上都录过,值得说明的是我在录公司项目的时候,参数化的用户名和密码却可以循环迭代,为什么到了这个系统就不行了呢,应该不时配置上的问题,我也没找出两个操作有什么不同,都是登录系统后然后将所有页面都关闭
5我录制本系统时,是采用让QTP自动打开系统的模式,我想是不时跟这个有关,因为我在重新录制时,采用的是先将系统打开再录制,这样数据库中的每行数据都可以正常迭代,但每迭代一次我都要手动打开系统,是不时有什么设置,或者是写一行什么代码,能让系统自动启动,我是新手,请大家一定多指教,大家共同学习,共同进步

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-11-3 11:45:27 | 只看该作者
你可以把登录和关闭分别放到一个action中,将你参数化的数据放到一个action中,然后将这个action设置成执行你数据表中所有的数据,你试试看,我正准备发一个关于参数化的资料,我也正在学习这个,整理了一下自己理解的,可以供你参考下。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-11-3 11:46:13 | 只看该作者

回复 10# 的帖子

::xzao:::
这不明显错误蛮,你想想第二次系统寻找登录框肯定是失败的啊,当然报那个错了
把打开的动作也录制进脚本里就OK了,不需要手动做什么打开的 我汗
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-11-3 11:49:40 | 只看该作者
QTP自动打开程序只会在运行时打开一次,运行第一个循环时,你把窗口关闭了,第二循环程序没打开所以就找不到对象了,你可以把打开程序放在脚本里实现,这样应该就没问题了
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2009-11-3 12:58:25 | 只看该作者
在各位的指点之下,问题终于解决了,非常感谢各位
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 03:52 , Processed in 0.070670 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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