51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2796|回复: 9
打印 上一主题 下一主题

[原创] 如何使用QTP检测网站下载图片成功?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-28 10:29:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在 有一个网站  要从网站上下载一个图片到本地,用QTP检测是否成功。我不知道如何设计这个测试点呀,请各位指点,我是刚开始学QTP  希望大家多多帮忙,在线等待,不胜感激

[ 本帖最后由 cyrcici81 于 2008-7-28 10:30 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-28 10:36:29 | 只看该作者
用Microsoft.XMLDOM对象和ADODB.Stream能实现远程文件传输
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-7-28 10:59:12 | 只看该作者
我 认为 你可以设置一个图片检查点,然后执行脚本。脚本执行完后,再看有多少图片下载下来就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-7-28 11:10:31 | 只看该作者
一楼  能将方法在具体说说吗?先谢谢了
二楼  如果将图片现在到本地桌面上,用图片检查点能识别到吗  并且能正确显示这个图面 ,谢谢,我先试试
谢谢你们帮我想主意
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-7-28 17:35:40 | 只看该作者
下载完成后可以检查本地相关目录下是否有这张图片也可以吧
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-7-28 21:00:08 | 只看该作者
告诉你个小秘诀吧....
在加载完与否的图片,用QTP可以得到图片的大小。加载完的图片大小不会等于0。
嘿嘿,其他人我还不告诉他呢....
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-7-28 21:01:40 | 只看该作者
我猜不出2楼的方法这么写是怎么实现的,每次都摸不到边际...
用最简单的方法,实现最复杂的需求。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-7-29 09:50:27 | 只看该作者
这个功能无非两个测试点
1)如何从远程下载文件到本地
2)如何验证文件下载的正确性
我帮你写个1的脚本,至于如何验证,你自己可以考虑一下,这个就不难了
Function GetRemoteFiels(RemotePath, LocalPath, FileName)
Dim strBody
Dim FilePath
  On Error Resume Next
strBody = GetBody(RemotePath)
if Right(LocalPath, 1) <> "\" then LocalPath = LocalPath & "\"
FilePath = LocalPath & GetFileName(RemotePath, FileName)
if SaveToFile(strBody, FilePath) = true and err.Number = 0 then
   GetRemoteFiles = true
else
   GetRemoteFiles = false
end if
End Function

Function GetBody(url)
Dim Retrieval

  Set Retrieval = createObject("Microsoft.XMLHTTP")
  With Retrieval
    .Open "Get", url, False, "", ""
    .Send
    GetBody = .ResponseBody
  End With
  Set Retrieval = Nothing
End Function

Function GetFileName(RemotePath, FileName)
Dim arrTmp
Dim strFileExt
  arrTmp = Split(RemotePath, ".")
  strFileExt = arrTmp(UBound(arrTmp))
  GetFileName = FileName & "." & strFileExt
End Function

Function SaveToFile(Stream, FilePath)
Dim objStream
On Error Resume Next
  Set objStream = createObject("ADODB.Stream")
  objStream.Type = 1
  objStream.Open
  objstream.write Stream
  objstream.SaveToFile FilePath, 2
  objstream.Close()
  Set objstream = Nothing
if err.Number <> 0 then
   SaveToFile = false
else
   SaveToFile = true
end if
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-7-29 09:51:02 | 只看该作者
#7楼的,我有那么不着边际么?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-7-29 10:02:18 | 只看该作者
假装没看到,逼你出手 而已。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 06:54 , Processed in 0.078347 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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