51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2421|回复: 10
打印 上一主题 下一主题

[原创] QTP 发送Email 的问题,

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-5-17 10:21:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim objOutlook
Dim objOutlookMsg
Dim olMailItem
Dim attachment

Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
Set mapi = objOutlook.GetNameSpace("MAPI")

attachment = Reporter.ReportPath&"\Log\LogFile.html"

objOutlookMsg.To = "sixuan.wang@163.com"
'objOutlookMsg.CC = ""
'objOutlookMsg.BCC = ""
' Body of the message
objOutlookMsg.Subject = "QTP Test Mail"       
objOutlookMsg.Body = "This is a test mail"
objOutlookMsg.Attachments.Add(Reporter.ReportPath&"\Log\LogFile.html")

'Display the email
objOutlookMsg.Display
'Send the message
objOutlookMsg.Send
'Release the objects
'objOutlook.quit
Set objOutlook = Nothing
Set mapi = Nothing
上面的代码是我用来发送邮件的,想问一下红色字体部分有什么问题吗,运行到这里就报错,operation failed,但是我如果这么写:objOutlookMsg.Attachments.Add("D:\QTP\test\newUI_exit_test\Res13\Log\LogFile.html") 就没问题,D:\QTP\test\newUI_exit_test\Res13 就是我的reportpath
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-5-17 10:54:31 | 只看该作者
试试objOutlookMsg.Attachments.Add(cstr(Reporter.ReportPath)&"\Log\LogFile.html")
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-5-17 11:01:37 | 只看该作者
回复 2# iQuickTest
试过了,不行,我之前试过Cstr(Reporter.ReportPath&"\Log\LogFile.html")也不行,郁闷
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-5-17 11:11:26 | 只看该作者
脚本运行是没有错的,应该是因为你每运行一次时,保存结果的文件路径更新了,就找不到你的那个log文件了

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2011-5-17 11:18:36 | 只看该作者
回复 4# arivn
但是我用的是Reporter.reportPath, 每次运行之后就是最新的路径啊,log/logFile.html这个文件是我修改注册表之后在每个res文件夹下面都会生成的
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-5-17 12:47:29 | 只看该作者
你的脚本是在QTP里运行的话,如果脚本没有完全运行完毕,结果文件是不会生成的,除非这个生成文件是你自己写的。如果是根据QTP本身的结果解析过来的HTML的话是需要另起一个vbs的进程等待QTP运行完毕后才能获取
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2011-5-17 12:53:28 | 只看该作者
回复 6# zzxxbb112
我试过了,把它放到另一个action里,等前面的action运行完了在发送这个Email,也是不行,想不出原因,是不是数据类型方面的问题啊
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2011-5-17 13:07:47 | 只看该作者
回复 6# zzxxbb112
谢谢版主,确实是你说的问题,我刚才试过hardcode这个路径,也是报错,明白原因了,还有一个问题想问你,我重新启动个vbs能获取到Reporter.ReportPath吗
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2011-5-17 13:12:39 | 只看该作者
能,利用fso动态生成一个脚本,然后用wsh去运行它,注意脚本中需要加入同步等待qtp运行完毕。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2011-5-17 13:20:08 | 只看该作者
回复 9# zzxxbb112
十分感谢,我去弄弄看
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2011-5-17 13:39:02 | 只看该作者
也谢谢楼上几位的热心帮助
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-20 06:21 , Processed in 0.069373 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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