QTP如何录制下载文件的另存为操作?
QTP录制下载文件,弹出框“打开还是保存?”点击保存按钮,弹出另存为对话框,将该文件保存到本机上。现在的问题是,另存为的这个对话框脚本没有,录制不下来,不知道怎么解决?
谢谢 查看一下另存为对话框上的对象是否能识别,能识别的话,自己手动把代码加上去啊 手动加吧!
回复 2# 的帖子
能识别,但加上去之后还是提示错误(对象找不到)回复 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
在第四行提示错误,运行不下去了 在另存为这一段操作中用录制坐标的方法记录脚本~~ 试一下
Browser("Browser_2").Dialog("File Download").WinButton("Save").TypemicLeft
wait(1)
Browser("Browser_2").Dialog("File Download").WinButton("Open").TypemicRight
wait(1)
Browser("Browser_2").Dialog("File Download").TypemicReturn 应该是个比较典型的问题,你使用QTP的WEB录制网页是没问题的。
但是保存按钮的对象却并不是网页生成的按钮,而是调用Windows的winButton,web录制方式下当然是无法识别了,
建议把保存按钮用虚拟对象的方法试下 试一下这个:
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
回复 9# 的帖子
谢谢各位的回答。我先一一试下
回复 9# 的帖子
试了一下,不行。虚拟对象和代码都不对。
等解决,谢谢各位
回复 7# 的帖子
谢谢回答。呵呵试了您的代码,一直提示语句未结束。
是不是有什么错误? 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 你的问题脚本问题出在这一步“
Window("记事本").Dialog("另存为").Dialog("另存为").WinButton("是(Y)").Click
你先把弹出的窗口加到对象库里取看下他的属性 你会发现Dialog下面还有个Dialog,那个就是你缺少的对象
:)
希望能帮到你! 这里特别要感谢xiaonan一直对我的帮助~
谢谢!:)
回复 14# 的帖子
谢谢xjcool.问题已经解决了。
解决方法如下:
在录制到这个步骤之前,在QTP的automation选中low level recording,录制坐标即可以。
不过这种低级录制的方法有很多弊端。。。
回复 5# 的帖子
录制坐标确实有点麻烦的将你的4、5、6三行改成
Dialog("文件下载").Dialog("文件下载").WinButton("保存(S)").Click
Dialog("文件下载").Dialog("另存为").WinToolbar("ToolbarWindow32").Press "桌面"
Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
试试...
我这就是这样的,可以运行成功呵!
回复 16# 的帖子
请问,你说的“automation选中low level recording”在哪啊,我怎么没找到。。。。。这个平常是灰掉的,只有点击了【record】开始录制后,这个low level recording才变成可使用 其实,可以直接给另存为的filename赋值的~
页:
[1]