51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3878|回复: 14
打印 上一主题 下一主题

[求助] QTP弹出对话框勾选结点,回放脚本,父对象不存在(已更新附上脚本).

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-28 19:02:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠~请看到帮忙解决下,查找资料半天未找到结果!
   问题请参见附件;
   原代码如下:
Browser("*有限公司").Page("*有限公司").WebEdit("UserName").Set "abc"
Browser("*有限公司").Page("*有限公司").Image("Submit").Click 61,15
Browser("*有限公司").Page("*有限公司").Frame("ifrIndexTop").WebElement("公文").Click
Browser("*有限公司").Page("*有限公司_2").Frame("leftMenu").WebElement("培训通知").Click
Browser("*有限公司").Page("*有限公司_2").Frame("frameContent").WebButton("起草培训通知").Click
Browser("工作流服务平台").Page("工作流服务平台").Sync
Browser("*有限公司").Page("*有限公司").Sync
Dialog("Internet Explorer").WinButton("是(Y)").Click
Browser("工作流服务平台").Page("工作流服务平台").Frame("bottomFrame_2").WebEdit("FileTitle").Set "ddd"
Browser("工作流服务平台").Page("工作流服务平台").Frame("bottomFrame_2").WebEdit("KeyWord").Set "dddd"

Browser("工作流服务平台").Page("工作流服务平台").Frame("bottomFrame_2").WebElement("*主       送").Click
Browser("工作流服务平台").Window("部门选择 -- 网页对话框").Page("部门选择").Frame("ifrmAdTree").WebCheckBox("WebCheckBox").Set "ON"
Browser("工作流服务平台").Window("部门选择 -- 网页对话框").Page("部门选择").Frame("ifrmAdTree").WebCheckBox("WebCheckBox_2").Set "ON"
Browser("工作流服务平台").Window("部门选择 -- 网页对话框").Page("部门选择").WebButton(">>>").Click
Browser("工作流服务平台").Window("部门选择 -- 网页对话框").Page("部门选择").WebButton("确定").Click

说明: 1.主要操作:点击"主送"按钮,弹出"部门选择 -- 网页对话框",勾选部门结点.提交
         2.回放脚本时,绿色部分脚本已执行通过,红色部分抛出异常,提示WebCheckBox的父对象Page("部门选择")找不到.
         异常请参考附件
         3.对象库中,父对象Page("部门选择"),属性均为空,未写入值
  
请问如何解决????
                       

[ 本帖最后由 fumanxiu 于 2009-9-29 11:03 编辑 ]

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2009-9-28 20:25:01 | 只看该作者
关注下。。。

怎么没有脚本的截图呢?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-9-28 21:27:11 | 只看该作者
脚本代码请帖上来,我现在只是个人猜测而已,而且你也没说这个是CS架构的还是BS的,我估计是BS的,你父对象找不到的原因很可能是因为。。。我已经猜了点,但请你把代码贴上来,特别像这种QTP报错都报的那么精确了,那肯定就是父类对象没有,你更应该把代码帖上来,不然别人不知道你的测试环境等,也就无法帮你

[ 本帖最后由 yujie6832 于 2009-9-28 21:33 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-9-28 23:47:52 | 只看该作者

非常感谢大家的关注,代码在公司,明天附上

具体情况是这样,当点击“主送”按钮,弹出如上图的对话框,脚本中自动生成2行脚本命令。
  QQ:82596827
希望多多指教,今天弄了一天没有进展 ,愁~
QQ:82596827

[ 本帖最后由 fumanxiu 于 2009-9-28 23:51 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-9-29 10:51:39 | 只看该作者

回复 3# 的帖子

帖子代码已附上,已更新,期待你的回复.
       程序是B/S架构的

[ 本帖最后由 fumanxiu 于 2009-9-29 11:03 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-9-29 11:05:53 | 只看该作者
因为你是弹出的页面,很有可能是Frame的"html id"是动态的下一次弹出就变化了导致你不能识别frame,解决办法是你Spy几次找一下Frame id的变化规律,如iframeid_XXXXXXX,XXX是随机生成的,这个时候你就可以将这个属性用正则表达式替代成“iframeid_.*”就可以识别了,按照这个思路试试行不行??当然也有可能是其它对象的其它属性,总之都一样了

[ 本帖最后由 wugecat 于 2009-9-29 11:08 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-9-29 19:01:43 | 只看该作者

UP

up
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-9-30 01:08:21 | 只看该作者
1. "Option"->"Web"->"Page\Frame Options..."->"Different test object description"选中。
2.重新录制脚本。
3.恭喜回放成功。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-9-30 01:11:10 | 只看该作者
????
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-9-30 09:28:42 | 只看该作者
你把浏览器的弹出窗口阻止程序关闭,试一下
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-9-30 13:26:19 | 只看该作者
和我预期想的有点不一样,我建议先试8楼的方法,再试6楼的办法,但是我个人如果给方法也会给出和6楼差不多的方法

PS,我发现,原来楼主的脚本是录制的。。。可不可以考虑手写呢,可能也会解决问题

问题基本是出在FRAME上,属性有变动,找出变动的属性删了应该就好了~~~~
这种问题还是需要亲自去调试才能慢慢定位问题的

[ 本帖最后由 yujie6832 于 2009-9-30 13:38 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-9-30 17:57:40 | 只看该作者

回复 10# 的帖子

下面分别说明2个问题:
1.按照6楼的思路,我反复使用Spy几次找一下Frame id,未发生变化,是写死的
  且父对象Page("部门选择")的name为空导致

2.本人是新手,不会手动写类似的脚本.
   如果有解决反案,请不吝赐教
非常感谢~
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-9-30 18:34:20 | 只看该作者
lz可以尝试把page给去掉,或者一个一个的 highlight,看看哪个对象没有找到

用法 Browser("xxx").highlight
Browser("xxx").Page("xx").xxx.xxx.xxx.highLight
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2009-9-30 18:38:13 | 只看该作者
Browser("工作流服务平台").Window("部门选择 -- 网页对话框").Page("部门选择").Frame("ifrmAdTree").WebCheckBox("WebCheckBox").Set "ON"
如果要改的话,改为下述
Browser("工作流服务平台").Window("部门选择 -- 网页对话框").Page(":=").Frame("text:=ifrmAdTree").WebCheckBox("index:=xxx").Set "ON"

试试
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2009-10-3 13:46:07 | 只看该作者
这个问题看来是由于PAGE为空,导致,楼主请这样做,看能否给这个空值的PAGE添加点关键属性让QTP能识别呢?如果不可以,可以考虑用描述性编程,就像14楼那样,我觉得可能的话可以这么试试

Browser("工作流服务平台").Window("部门选择 -- 网页对话框").Page("micClass:=部门选择 -- 网页对话框").Frame("text:=ifrmAdTree").WebCheckBox("index:=xxx").Set "ON"

还有,我强烈建议,请手工添加对象,别录制脚本,你手工式下添加这个PAGE,看看有没有属性
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 04:32 , Processed in 0.092665 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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