51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 求助一个简单的描述性编程的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-11 15:57:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  最近学习描述性编程,录制了QTP自带程序的一段脚本。脚本中的对象在对象库里都存在,但是if - else那块,如果用被注释掉的描述性编程就会保存,识别不了对象。请问是怎么回事?
  就是先点击help,然后判断这个help的dialog存不存在。如果存在,就输入用户名、密码后登陆。登陆后,点击关闭按钮就结束这段脚本的录制了。
  但是我把判断这个help的dialog存不存在的代码换成描述性的编程,就会报对象无法识别的问题。请大家帮我看看,问题出在哪儿?谢谢了~~


Dialog("Login").WinButton("Help").Click
If Dialog("Login").Dialog("Flight Reservations").Exist Then
 Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click       
End If
       
'If Dialog("text:=Login").Dialog("text:=Flight Reservations").Exist Then
 'Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text := 确定").Click
'End If
Dialog("Login").WinEdit("Agent Name:").Set "admin"
Dialog("Login").WinEdit("Password:").SetSecure "4b4ac8599016e03d9d9c0ea18f4444bf421b6eb7"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close


以上是录制的脚步,这样执行时没问题。
如果将注释的那段if - else启用,就会出错。

[ 本帖最后由 不想继续点点点 于 2010-1-11 16:08 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-1-11 16:17:55 | 只看该作者
后续强迫症吧,从使用了描述性编程的地方起后面的对象都要用描述性编程
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-1-11 16:27:21 | 只看该作者

回复 2# 的帖子

从代码上看没啥问题
是不是给的属性有问题
LZ可以把对象的属性图贴出来看下
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-1-11 16:50:48 | 只看该作者
谢谢两位回复

1. 首先,我将从if - else以后的脚步,都用了描述性编程。但是还是执行不了脚步。
 走到Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text := 确定").Click    ,这句是保错。
2. 接着我用Exist ,来检查对象。
 Msgbox Dialog("text:=Login").Exist
 Msgbox Dialog("text:=Login").Dialog("text:=Flight Reservations").Exist
 Msgbox Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text := 确定").Exist --->走到此句时,信息框提示“False”报错。

lantianwei,属性图马上就贴出来。请大家继续帮我看看问题出在哪儿。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-1-11 16:55:47 | 只看该作者


[ 本帖最后由 不想继续点点点 于 2010-1-11 16:59 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-1-11 17:04:23 | 只看该作者

回复 5# 的帖子

检查WinButton("text := 确定)的对象属性  此处有问题
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-1-11 17:25:01 | 只看该作者
我修改了以下的脚本,为winButton有加了一对属性。但是对象还是识别不了。(加属性时,我同时也在tool-Object Identification为WinButton默认属性中,增加了attached text。)

Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("attached text := The password is 'MERCURY'","nativeclass:=Button","text := 确定").Click
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-1-11 17:39:00 | 只看该作者
把 确定 的属性图贴出来看下
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-1-11 21:06:14 | 只看该作者
确定按钮在对象库中的属性

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-1-11 21:13:57 | 只看该作者
估计是这个描述性编程找出来的对象不唯一,建议你用childOBJECT来检查下,是不是有多个对象
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2010-1-12 09:56:24 | 只看该作者
小狐狸如如,Dialog("text:=Flight Reservations")里面只有一个WinButton("text := 确定")的对象的
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2010-1-12 10:04:36 | 只看该作者
操作图示:

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-1-12 11:25:40 | 只看该作者

我脚本这样的试了下没问题

Dialog("text:=Login").Activate
Dialog("text:=Login").WinButton("text:=Help").Click
If Dialog("text:=Login").Dialog("text:=Flight Reservations").Exist Then
    Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text:=确定").Click        
End If

Dialog("text:=Login").WinEdit("attached text:=Agent Name:").Set "mercury"
Dialog("text:=Login").WinEdit("attached text:=Password:").SetSecure "4b4be9f45d5c2a42c42db48ebc1102efefbbcc25"
Dialog("text:=Login").WinButton("text:=OK").Click
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2010-1-12 11:59:52 | 只看该作者
谢谢鱼儿,
我上午也将脚本从头到尾都用的描述性编程改了。脚本和你的一样,运行的确没问题了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 03:11 , Processed in 0.081589 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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