51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[求助] QTP9.2订票程序参数化测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-6-12 11:06:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在进行订票程序参数化设置的时候:
RecordNo= Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")        ' 取得订票记录号
Window("Flight Reservation").WinButton("Button_4").Click        ' 打开订票记录窗口
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"'选择以订票号为依据查询
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Type RecordNo'设置订票号
Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click        ' 确认查询
可是在运行的时候无法实现“open order”窗口中订单号的自动获取,在执行到这个步骤的时候就直接报错了。报的错是“object is disabled”
代码什么的和陈能技书上一模一样,为什么不行呢?
小妹刚学QTP,实在琢磨不透~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-6-12 11:31:25 | 只看该作者
RecordNo= Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")    ,看看这个RecordNo定义了吗?定义成字符串。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-6-12 13:19:56 | 只看该作者
原帖由 zhangxinnow 于 2009-6-12 11:31 发表
RecordNo= Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")    ,看看这个RecordNo定义了吗?定义成字符串。



怎么看是否已经定义啊?
是不是要Dim RecordNo??
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-6-12 13:33:08 | 只看该作者
原帖由 zhangxinnow 于 2009-6-12 11:31 发表
RecordNo= Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")    ,看看这个RecordNo定义了吗?定义成字符串。

VBS的是弱类型的语言,也就是不必指定变量的字段类型;
在你执行脚本的时候,看看那个order No的winEdit对象是不是出现.错误信息提示的是这个对象是disabled的
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-6-12 13:46:53 | 只看该作者
原帖由 dreamever 于 2009-6-12 13:33 发表

VBS的是弱类型的语言,也就是不必指定变量的字段类型;
在你执行脚本的时候,看看那个order No的winEdit对象是不是出现.错误信息提示的是这个对象是disabled的



具体怎么做呢?我第一次接触软件测试,跟着那本书一步步做,别的我还不太会~~
请求详细指示,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-6-12 14:13:11 | 只看该作者
你跑脚本的时候用肉眼看,看那个order no的WindEdit是不是在界面上显示出来了,
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-6-12 14:13:58 | 只看该作者
原帖由 bobo3325 于 2009-6-12 11:06 发表
我在进行订票程序参数化设置的时候:
RecordNo= Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")        ' 取得订票记录号
Window("Flight Reservation").WinButton("Button_4").Click        ' 打开订 ...

刚想到,你是不是直接把书上的代码录进去的?你的脚本有测试对象库吗?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-6-12 14:46:34 | 只看该作者
这段代码之前是不是应该有录插入订单的代码啊。。当你插入订单也就是点击insert order这个按钮之后。。进度条会走一段时间。。。如果进度条没有走完你就去点open order是点不到的。。也就是错误提示信息object is disable。。。你加个同步点。。等进度条走完再去点open order...
Window("Flight Reservation").WinObject("Insert Done").WaitProperty "text", "Insert Order...", 10000
不知道你的问题是不是出在这里。。试试看吧。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2009-6-12 14:48:21 | 只看该作者
原帖由 dreamever 于 2009-6-12 14:13 发表

刚想到,你是不是直接把书上的代码录进去的?你的脚本有测试对象库吗?


我已经把对象加入对象库了的,所以不会是这个问题
当时跑的时候会出现那个WinEdit,在专家视图看那一行代码也用黄色箭头移动执行了
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-6-12 15:01:47 | 只看该作者
原帖由 phoebe_kaka 于 2009-6-12 14:46 发表
这段代码之前是不是应该有录插入订单的代码啊。。当你插入订单也就是点击insert order这个按钮之后。。进度条会走一段时间。。。如果进度条没有走完你就去点open order是点不到的。。也就是错误提示信息object is di ...

进度条已经走完了,因为在取得订单号之前我已经用了一个 wait 10的函数,呵呵,现在只会这种简单的时间等待
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-6-12 15:24:22 | 只看该作者
原帖由 bobo3325 于 2009-6-12 14:48 发表


我已经把对象加入对象库了的,所以不会是这个问题
当时跑的时候会出现那个WinEdit,在专家视图看那一行代码也用黄色箭头移动执行了

楼主能确定那个winEdit是在脚本执行到那一句之前就出现了吗?建议楼主把程序中的那个winEdit调出来,然后单独运行那一行脚本.看看是不是能成功执行。把各种可能的情况多试几次。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-6-12 15:47:07 | 只看该作者
原帖由 dreamever 于 2009-6-12 15:24 发表

楼主能确定那个winEdit是在脚本执行到那一句之前就出现了吗?建议楼主把程序中的那个winEdit调出来,然后单独运行那一行脚本.看看是不是能成功执行。把各种可能的情况多试几次。



如何单独运行那一行脚本?没法单步运行什么的啊~~
咳。。。。。我真是太菜了,学了一个星期感觉还是没什么进展~~~
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2009-6-12 16:35:34 | 只看该作者
没人回帖了,sigh。。。。
只好自己慢慢琢磨了。。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2009-6-12 17:44:57 | 只看该作者
报的错是“object is disabled”
说明当前的test object的状态为disabled,不能call click,open等方法。
你可以在之前wait一个更长的时间。
关键是在报错这一步之前的步骤执行完成后有没有让这个object的状态变为enabled
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 16:49 , Processed in 0.089562 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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