51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7557|回复: 19
打印 上一主题 下一主题

[求助] QTP如何录制下载文件的另存为操作?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-1 14:41:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
QTP录制下载文件,弹出框“打开还是保存?”点击保存按钮,弹出另存为对话框,将该文件保存到本机上。

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

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

使用道具 举报

该用户从未签到

2#
发表于 2008-9-2 09:02:58 | 只看该作者
查看一下另存为对话框上的对象是否能识别,能识别的话,自己手动把代码加上去啊
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-2 09:34:19 | 只看该作者
手动加吧!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-9-2 14:21:34 | 只看该作者

回复 2# 的帖子

能识别,但加上去之后还是提示错误(对象找不到)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-9-2 14:25:18 | 只看该作者

回复 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

在第四行提示错误,运行不下去了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-9-2 15:07:02 | 只看该作者
在另存为这一段操作中用录制坐标的方法记录脚本~~
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-9-2 17:16:06 | 只看该作者
试一下

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
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-9-2 18:03:29 | 只看该作者
应该是个比较典型的问题,你使用QTP的WEB录制网页是没问题的。
但是保存按钮的对象却并不是网页生成的按钮,而是调用Windows的winButton,web录制方式下当然是无法识别了,
建议把保存按钮用虚拟对象的方法试下
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-9-2 22:17:27 | 只看该作者
试一下这个:
        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
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-9-3 10:02:53 | 只看该作者

回复 9# 的帖子

谢谢各位的回答。
我先一一试下
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-9-3 10:29:27 | 只看该作者

回复 9# 的帖子

试了一下,不行。
虚拟对象和代码都不对。
等解决,谢谢各位
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-9-3 11:11:27 | 只看该作者

回复 7# 的帖子

谢谢回答。呵呵
试了您的代码,一直提示语句未结束。
是不是有什么错误?
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-9-3 11:43:57 | 只看该作者
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
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-9-3 11:51:03 | 只看该作者
你的问题脚本问题出在这一步“
Window("记事本").Dialog("另存为").Dialog("另存为").WinButton("是(Y)").Click
你先把弹出的窗口加到对象库里取看下他的属性 你会发现Dialog下面还有个Dialog,那个就是你缺少的对象
:)
希望能帮到你!
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-9-3 11:53:40 | 只看该作者
这里特别要感谢  xiaonan一直对我的帮助~
谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2008-9-3 15:49:12 | 只看该作者

回复 14# 的帖子

谢谢xjcool.
问题已经解决了。
解决方法如下:
在录制到这个步骤之前,在QTP的automation选中low level recording,录制坐标即可以。
不过这种低级录制的方法有很多弊端。。。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2008-9-11 16:50:10 | 只看该作者

回复 5# 的帖子

录制坐标确实有点麻烦的
将你的4、5、6三行改成
Dialog("文件下载").Dialog("文件下载").WinButton("保存(S)").Click
Dialog("文件下载").Dialog("另存为").WinToolbar("ToolbarWindow32").Press "桌面"
Dialog("文件下载").Dialog("另存为").WinButton("保存(S)").Click
试试...
我这就是这样的,可以运行成功呵!
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2008-10-23 17:50:32 | 只看该作者

回复 16# 的帖子

请问,你说的“automation选中low level recording”在哪啊,我怎么没找到。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2008-10-23 21:53:44 | 只看该作者

这个平常是灰掉的,只有点击了【record】开始录制后,这个low level recording才变成可使用

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2009-9-10 13:42:21 | 只看该作者
其实,可以直接给另存为的filename赋值的~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 05:45 , Processed in 0.108567 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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