51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4224|回复: 27
打印 上一主题 下一主题

[原创] 很麻烦的脚本运行问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-23 20:25:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我用QTP录制了一个filght的脚本 可以回放,但是我用描述性编程来做  就提示不能识别对象,请问哪位和我遇到同样问题的?
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
Dialog("regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Set "zhouqin"
Dialog("regexpwndtitle:=Login").WinEdit("Password:").SetSecure "4ba76cdfdc6a09b3888407c7eea63dc57a6d6c93"
Dialog("regexpwndtitle:=Login").WinButton("regexpwndtitle:=OK").Click
Window("Flight Reservation").Close
在别人机器上 可以运行 但是我的就不行 哪位大侠帮忙看一下呢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

28#
 楼主| 发表于 2010-3-30 09:37:44 | 只看该作者
已经重装过了 看来要重装操作系统
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2010-3-29 16:50:35 | 只看该作者

回复 26# 的帖子

哦。没注意到。。。不过在我家里的电脑上是能正常运行的。。。
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2010-3-29 16:35:41 | 只看该作者

回复 23# 的帖子

见19楼。。。他说都是0.。。

重装QTP好的可能性大一点。。。
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2010-3-29 15:23:44 | 只看该作者

回复 24# 的帖子

我不是给你写了方法了么,你有没有试着去用一下?
回复 支持 反对

使用道具 举报

该用户从未签到

24#
 楼主| 发表于 2010-3-29 15:17:02 | 只看该作者
没人回复啦  大家帮帮忙啊  大侠们都出来哦
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2010-3-28 12:36:18 | 只看该作者
那我给你个调试的方法,看看描述性编程的对象是否唯一。
之前的语句是Dialog("regexpwndtitle:=Login","Micclass:=Dialog").WinEdit("attached text:=Agent Name:").Set "zhouqin"
但是你那里如果还是不行的话,用下面的方法来调试一下。
Set oDesc = Description.Create()
oDesc("micclass").Value = "Dialog"
oDesc("regexpwndtitle").Value = "Login"
Set Lists = Desktop.ChildObjects(oDesc)
all=Lists.count
看看all是几,如果是1的话,那么用Dialog("regexpwndtitle:=Login","Micclass:=Dialog")应该可以识别到对话框,如果不是1,那么加个index:=0试试
Dialog识别完了再看WebEdit的
Set oDesc = Description.Create()
oDesc("micclass").Value = "WebEdit"
oDesc("attached text").Value = "Agent Name:"
Set Lists = Dialog("regexpwndtitle:=Login","Micclass:=Dialog","index:=0").ChildObjects(oDesc)
all=Lists.count
在看看这时候all是多少。
通常我用这个方法就是来看看描述对象的属性是否能唯一识别到对象,如果识别到多个,说明可能有对象隐藏在页面上,那么这时候加上index去进一步识别他,之后为了查看是否找对了对象,可以在对象后面用 .highlight的方法高亮对象,以便确认你需要操作的对象是你看到的那个。
回复 支持 反对

使用道具 举报

该用户从未签到

22#
 楼主| 发表于 2010-3-27 21:58:21 | 只看该作者
不是那个问题,我加了的 一样没用 从设置和环境问题考虑一下吧
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2010-3-25 22:08:24 | 只看该作者
Dialog("regexpwndtitle:=Login","Micclass:=Dialog").WinEdit("attached text:=Agent Name:").Set "zhouqin"
我加了一句,在我的电脑上可以执行了。

从报错信息看,主要问题在Dialog上,你的语句没有识别到Dialog对象,可能一个条件不够,于是我加了个Micclass的试了一下就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2010-3-25 18:06:12 | 只看该作者
我用QTP录制了一个filght的脚本 可以回放,但是我用描述性编程来做  就提示不能识别对象,请问哪位和我遇到同样问题的?
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
Dialog("regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Set "zhouqin"
Dialog("regexpwndtitle:=Login").WinEdit("Password:").SetSecure "4ba76cdfdc6a09b3888407c7eea63dc57a6d6c93"
Dialog("regexpwndtitle:=Login").WinButton("regexpwndtitle:=OK").Click
Window("Flight Reservation").Close
在别人机器上 可以运行 但是我的就不行 哪位大侠帮忙看一下呢
报错从Dialog("regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Set "zhouqin"开始就运行不起走了

报错信息Cannot find the "[ WinEdit ]" object's parent "[ Dialog ]" (class Dialog). Verify that parent properties match an object currently displayed in your application.

基本上任何描述性编程都找不到对象  会不会是操作系统 或者插件的问题
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2010-3-25 15:54:13 | 只看该作者
打印出来果真不是1、2,是0
其实我也想是环境问题 但不晓得是什么环境问题 有没有高手指点一下
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2010-3-25 13:53:55 | 只看该作者
qtp9 winxp
9楼的是好的,最能怀疑的就只有16楼说的了
在SystemUtil.Run后加下面的代码,如果打印出来不是1、2,那就是环境有问题
Set aa = Description.create()
aa("regexpwndtitle").value  = "Login"
set bb = desktop.ChildObjects(aa)
print bb.count
Set cc = Description.create()
cc("Class Name").value  = "WinEdit"
set dd = bb.item(0).ChildObjects(cc)
print dd.count
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2010-3-25 12:51:41 | 只看该作者
基本结合以上几个回答,差不多问题也就解决了,其实新人做QTP,出错大多总是这些原因
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2010-3-25 11:52:40 | 只看该作者
把出错提示信息贴出来
确保没有同时运行多个Flight
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2010-3-24 22:32:03 | 只看该作者

回复 14# 的帖子

我换个好几个属性了 不只是dialog 它不认识 就是button 也识别不了
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-3-24 22:02:01 | 只看该作者
报错是直接出来的还是等了一会出来的
如果是等待一会出来的话,说明Dialog("regexpwndtitle:=Login") 这个对象在系统里匹配到了多个
如果是直接就报出来了,那就换属性 ,不用 regexpwndtitle  ,或者加别的关键属性
试试
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2010-3-24 21:10:54 | 只看该作者

回复 12# 的帖子

我的是XP 的 我也想是环境问题 但是XP和QTP不冲突的啊
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-3-24 20:25:33 | 只看该作者
9楼的代码在win7 X64  qtp10下运行通过,LZ的是环境问题吧?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2010-3-24 18:33:10 | 只看该作者

回复 9# 的帖子

依然报错 在第二行都已经识别不了对象
会不会和环境有问题
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2010-3-24 18:26:21 | 只看该作者
报错从Dialog("regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Set "zhouqin"开始就运行不起走了

报错信息Cannot find the "[ WinEdit ]" object's parent "[ Dialog ]" (class Dialog). Verify that parent properties match an object currently displayed in your application.

基本上任何描述性编程都找不到对象  会不会是操作系统 或者插件的问题
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-10-6 18:23 , Processed in 0.100214 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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