51Testing软件测试论坛

标题: QTP如何录制下载文件的另存为操作? [打印本页]

作者: dog487    时间: 2008-9-1 14:41
标题: QTP如何录制下载文件的另存为操作?
QTP录制下载文件,弹出框“打开还是保存?”点击保存按钮,弹出另存为对话框,将该文件保存到本机上。

现在的问题是,另存为的这个对话框脚本没有,录制不下来,不知道怎么解决?

谢谢
作者: xiaonan    时间: 2008-9-2 09:02
查看一下另存为对话框上的对象是否能识别,能识别的话,自己手动把代码加上去啊
作者: fan730    时间: 2008-9-2 09:34
手动加吧!
作者: dog487    时间: 2008-9-2 14:21
标题: 回复 2# 的帖子
能识别,但加上去之后还是提示错误(对象找不到)
作者: dog487    时间: 2008-9-2 14:25
标题: 回复 4# 的帖子
代码如下:
Browser("Browser").Page("工作平台").Frame("ViewNav_3").WebElement("新建文件夹1").FireEvent "oncontextmenu"
Browser("Browser").Page("工作平台").Frame("ViewNav_4").WebElement("导出Excel").Click
Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
Browser("Browser").Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
Browser("Browser").Dialog("文件下载").Dialog("另存为").WinToolbar("ToolbarWindow32").Press "桌面"
Browser("Browser").Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
Dialog("下载完毕").WinButton("关闭").Click

在第四行提示错误,运行不下去了
作者: kitomitt    时间: 2008-9-2 15:07
在另存为这一段操作中用录制坐标的方法记录脚本~~
作者: fengmingbao    时间: 2008-9-2 17:16
试一下

Browser("Browser_2").Dialog("File Download").WinButton("Save").Type  micLeft
wait(1)
Browser("Browser_2").Dialog("File Download").WinButton("Open").Type  micRight
wait(1)
Browser("Browser_2").Dialog("File Download").Type  micReturn
作者: centurystone    时间: 2008-9-2 18:03
应该是个比较典型的问题,你使用QTP的WEB录制网页是没问题的。
但是保存按钮的对象却并不是网页生成的按钮,而是调用Windows的winButton,web录制方式下当然是无法识别了,
建议把保存按钮用虚拟对象的方法试下
作者: 陈能技    时间: 2008-9-2 22:17
试一下这个:
        Set deviceReplay = CreateObject("Mercury.DeviceReplay")
        deviceReplay.PressKey 56 ' ALT
        deviceReplay.PressKey 33 ' F
        deviceReplay.PressKey 30 ' A
        w_Browser.Dialog("text:=保存网页").Activate
        deviceReplay.SendString(FileName)
        'Msgbox w_Browser.Dialog("text:=保存网页").WinButton("text:=保存(&S)","nativeclass:=Button").Exist(2)
        w_Browser.Dialog("text:=保存网页").Activate
           deviceReplay.KeyDown 56 ' ALT
        deviceReplay.SendString("s")
        deviceReplay.KeyUp 56 ' ALT
作者: dog487    时间: 2008-9-3 10:02
标题: 回复 9# 的帖子
谢谢各位的回答。
我先一一试下
作者: dog487    时间: 2008-9-3 10:29
标题: 回复 9# 的帖子
试了一下,不行。
虚拟对象和代码都不对。
等解决,谢谢各位
作者: dog487    时间: 2008-9-3 11:11
标题: 回复 7# 的帖子
谢谢回答。呵呵
试了您的代码,一直提示语句未结束。
是不是有什么错误?
作者: xjcool    时间: 2008-9-3 11:43
Window("记事本").WinEditor("Edit").Type "这是一个测试!!"
Window("记事本").WinMenu("Menu").Select "文件(F);保存(S)        Ctrl+S"
Window("记事本").Dialog("另存为").WinEdit("文件名(N):").SetSelection 0,1
Window("记事本").Dialog("另存为").WinEdit("文件名(N):").Set "1.txt"
Window("记事本").Dialog("另存为").WinButton("保存(S)").Click
Window("记事本").Dialog("另存为").Dialog("另存为").WinButton("是(Y)").Click
Window("记事本").Close
作者: xjcool    时间: 2008-9-3 11:51
你的问题脚本问题出在这一步“
Window("记事本").Dialog("另存为").Dialog("另存为").WinButton("是(Y)").Click
你先把弹出的窗口加到对象库里取看下他的属性 你会发现Dialog下面还有个Dialog,那个就是你缺少的对象
:)
希望能帮到你!
作者: xjcool    时间: 2008-9-3 11:53
这里特别要感谢  xiaonan一直对我的帮助~
谢谢!
作者: dog487    时间: 2008-9-3 15:49
标题: 回复 14# 的帖子
谢谢xjcool.
问题已经解决了。
解决方法如下:
在录制到这个步骤之前,在QTP的automation选中low level recording,录制坐标即可以。
不过这种低级录制的方法有很多弊端。。。
作者: xtha21    时间: 2008-9-11 16:50
标题: 回复 5# 的帖子
录制坐标确实有点麻烦的
将你的4、5、6三行改成
Dialog("文件下载").Dialog("文件下载").WinButton("保存(S)").Click
Dialog("文件下载").Dialog("另存为").WinToolbar("ToolbarWindow32").Press "桌面"
Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
试试...
我这就是这样的,可以运行成功呵!
作者: saran    时间: 2008-10-23 17:50
标题: 回复 16# 的帖子
请问,你说的“automation选中low level recording”在哪啊,我怎么没找到。。。。。
作者: 爱喝可乐的蚊子    时间: 2008-10-23 21:53
[attach]46273[/attach]
这个平常是灰掉的,只有点击了【record】开始录制后,这个low level recording才变成可使用
作者: 风雪夜归人    时间: 2009-9-10 13:42
其实,可以直接给另存为的filename赋值的~




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