51Testing软件测试论坛

标题: 回放时,无法通过弹出窗口上保存按钮,请高手指点 [打印本页]

作者: raing    时间: 2006-11-10 18:03
标题: 回放时,无法通过弹出窗口上保存按钮,请高手指点
求救啊!
  在回放时候,弹出窗口上的保存按钮无法识别,而在QTP中是显示已经录制下来的,但是一到按那个保存按钮时就停下来,然后提示是否跳过这个步骤的的QTP提示窗口.我试了几次,偶尔能跳过去(没有做其他设置修改),而且除了原来的窗口和弹出窗口,以及QTP窗口外没有其他干扰窗口啊!请高手帮忙啊!
  expert view如下(部分):
Browser("test02").Dialog("连接到 10.10.1.58").WinEdit("密码(P):").Type  micReturn
Browser("test02").Page("test02").Sync
Dialog("文件下载").Dialog("文件下载").WinButton("保存(S)").Click
Dialog("文件下载").Dialog("另存为").WinToolbar("ToolbarWindow32").Press "桌面"
Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
Dialog("下载完毕").WinButton("关闭").Click
Browser("test02").Page("test02").Frame("scr_main_2").WebButton("OK").Click

sdlkfj9 就在第一个保存上停止了
作者: Jimmyshao    时间: 2006-11-10 21:01
貌似系统中有多个保存的按钮,这个需要用index来区别的。。
作者: walker1020    时间: 2006-11-11 20:42
你说的”就在第一个保存上停止了“ 到达是什么意思? QTP运行到此句时的错误提示是什么? 能否说的详细一些?
作者: raing    时间: 2006-11-13 08:58
我们要在网页上保存东西的时候,一开始有一个保存提示框,然后有一个保存目录的提示框吗?我的就是在前一个保存上停了,测试结果的提示信息为:
Cannot find the "ToolbarWindow32" object's parent "文件下载" (class Dialog). Verify that parent properties match an object currently displayed in your application.

Object's physical description:
Text = 文件下载
Native Class = #32770
is owned window = 0
is child window = 0
我在9.0上只遇到过一次,但在8.0上几乎每次都过不了啊,谢谢!

作者: claude    时间: 2006-11-13 10:22
看起来好象是那个对象定位不到了,你用SPY看一下是不是运行时那些属性改变了。
作者: walker1020    时间: 2006-11-13 10:30
错误信息告诉你:QTP不能唯一定位 Dialog("文件下载") 这个对象。这可能是因为运行时的对象属性和录制时的属性有变化, 你可以用 Object Spy工具查看一下变化情况。

另外,#1 第三行代码好像有点问题 :
  Dialog("文件下载").Dialog("文件下载").WinButton("保存(S)").Click
  这里有两个Dialog("文件下载"),我不知道 QTP如何区分这两个同名的对象。
你看看有 Dialog("文件下载").Dialog("文件下载") 这个对象吗? 是不是你写重复了?
作者: raing    时间: 2006-11-13 11:33
sdlkfj2 首先感谢各位!问题解决了
    就像斑竹说的,可能是无法辨别保存的弹出窗口,但并不是有两个Dialog("文件下载")导致的,上面的代码是自动录制的,刚学,还没到编写水平,嘿嘿!
    是这样的,我现在在录制的时候,增加了一步,先将那个弹出窗口激活(移动一下,之前是弹出后就直接按"保存"),在脚本里就多了一行,这样就可以回放了:
(1)现在的脚本:红色为增加的那行
Browser("test").Page("test").Frame("leftframe").Link("System Setup").Click
Browser("test").Page("test").Frame("leftframe").Link("Configuration Backup").Click
Browser("test").Page("test").Frame("scr_main").WebButton("OK").Click
Browser("test").Dialog("连接到 10.10.1.58").WinEdit("用户名(U):").Set "test"
Browser("test").Dialog("连接到 10.10.1.58").WinEdit("用户名(U):").Type  micTab
Browser("test").Dialog("连接到 10.10.1.58").WinEdit("密码(P):").SetSecure "4557df41dede7ae1df7f13ac32d119742a02ff8799dc"
Browser("test").Dialog("连接到 10.10.1.58").WinButton("确定").Click
Browser("test").Page("test").Sync
Dialog("文件下载").Dialog("文件下载").Move 301,266
Browser("test").Page("test").Sync
Dialog("文件下载").Dialog("文件下载").WinButton("保存(S)").Click
Dialog("文件下载").Dialog("另存为").WinToolbar("ToolbarWindow32").Press "桌面"
Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
Dialog("下载完毕").WinButton("关闭").Click
(2)之前的脚本
Browser("test02").Page("test02").Frame("leftframe").Link("System Setup").Click
Browser("test02").Page("test02").Frame("leftframe").Link("Configuration Backup").Click
Browser("test02").Page("test02").Frame("scr_main").WebButton("OK").Click
Browser("test02").Dialog("连接到 10.10.1.58").WinEdit("用户名(U):").Set "test"
Browser("test02").Dialog("连接到 10.10.1.58").WinEdit("用户名(U):").Type  micTab
Browser("test02").Dialog("连接到 10.10.1.58").WinEdit("密码(P):").SetSecure "455296067dd8827f759739194666714584c34f28031c"
Browser("test02").Dialog("连接到 10.10.1.58").WinButton("确定").Click
Browser("test02").Page("test02").Sync
Dialog("文件下载").Dialog("文件下载").WinButton("保存(S)").Click
Dialog("文件下载").Dialog("另存为").WinToolbar("ToolbarWindow32").Press "桌面"
Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
Dialog("下载完毕").WinButton("关闭").Click

估计是增加的那行使的QTP能区分主窗口和弹出窗口了,一知半解的

作者: walker1020    时间: 2006-11-13 11:53
你能想出“先将那个弹出窗口激活" 的方法来解决你的问题,说明你很聪明!我相信你一定能学好QTP的。另外,QTP Tutorial 文档你看了吗? 最好先按照这个文档的说明,把那些测试用例从头到尾完整地操作一遍。 这样 以后遇到问题 就知道怎么解决了。

[ 本帖最后由 walker1020 于 2006-11-13 12:01 编辑 ]
作者: wawa133    时间: 2006-12-4 14:01
试了楼主的方法,还是不行呢.激活了弹出的窗口 ,但是 鼠标就只停止在了"保存"的按钮上,但是没有动作.
过后就显示
Cannot find the "ToolbarWindow32" object's parent "文件下载" (class Dialog). Verify that parent properties match an object currently displayed in your application.
这个错误..不知道要怎么解决呢.sdlkfj7
作者: wawa133    时间: 2006-12-4 15:46
在click上加多一个wait语句就行啦.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2