aileen 发表于 2007-3-2 10:38:32

如何检查邮件已经收到?

我用qtp测试一个功能,就是进行某些操作后,被测系统会发送一封邮件到我的邮箱。

请问大家,如何用qtp检查该邮件发送成功了? 谢谢!

在线等大家的帮助。

xiaonan 发表于 2007-3-2 10:49:40

需求中是怎样明确邮件发送操作成功的呢?设计好用例,然后再来看用QTP是否能够判断.

aileen 发表于 2007-3-2 10:55:16

就是我的邮箱中有个该邮件就算成功了。

hyhbeyond 发表于 2007-3-2 12:33:02

系统里有关于发送邮件相关的记录吗?如果系统里没有和发送邮件相关的东西,感觉无从下手。

aileen 发表于 2007-3-2 13:10:44

没有

xiaonan 发表于 2007-3-2 15:22:09

其实感觉就一个发邮件就有很多测试点

比如一个发送成功可以分成:系统内有没有什么提示信息.提示信息是否正确,除了验证提示信息,还要验证邮件是否真的发送到了对方邮箱,邮件内容是否正确,是不是各类邮箱都能发送等等

intothehit 发表于 2007-3-2 15:45:19

在你收到邮件后,邮件系统实际上是把这个邮件作为文件存放到了你的本地的一个文件夹中,你可以找到这个文件夹,然后用 QTP 检查这个文件夹中是否有存在这个文件即可。

SueR 发表于 2007-3-3 04:58:02

我也有这样的requirement,我的case是当我在application中新建了一个record之后,系统要自动发出一封notification到我的mailbox,可以用qtp来实现检查outlook里邮件的操作么?

Coffey111111 发表于 2007-3-4 11:52:55

可不可以通过读取收到文件的数量是增加的,来判断已经收到文件了sdlkfj5

aileen 发表于 2007-3-13 11:38:06

这个不太好判断,因为邮箱里不断有新邮件进来的。万一把别的邮件算进去了,不对的呀

shwonder 发表于 2007-3-13 11:50:56

对于web邮件,发送的邮件的内容是固定的,判断应该就没有什么问题吧。即使不固定,你也应该发送了什么东东吧。

terrylight 发表于 2007-3-16 14:18:59

这个有点难度啊,我只能把我的想法说一下不知道可不可行就是录制两个脚本,当邮件发到你的邮箱之后调用另一个脚本去运行你的邮箱查看有没有邮件,最后能把一开始发送的邮件标题读出来然后参数化到另一个脚本中~,纯属想法呵呵~

lovetest6 发表于 2007-3-19 02:51:01

终极解决方案:)
见:http://bbs.51testing.com/redirect.php?fid=69&tid=67317&goto=nextnewset

呵呵。

lovetest6 发表于 2007-3-19 02:52:19

下面这个示例好一些。
1/**//// <summary>
2/// 利用Jmail接收邮件
3/// </summary>
4private void ReciveByJmail()
5{   
6    /**////建立收邮件对象
7    jmail.POP3Class popMail = new POP3Class();
8   
9    /**////建立邮件信息接口
10    jmail.Message mailMessage;
11
12    /**////建立附件集接口
13    jmail.Attachments atts;
14
15    /**////建立附件接口
16    jmail.Attachment att;
17
18    try
19    {
20      popMail.Connect(TxtPopUser.Text.Trim(),TxtPopPwd.Text.Trim(),TxtPopServer.Text.Trim(),Convert.ToInt32(TxtPopPort.Text.Trim()));
21      
22      /**////如果收到邮件
23      if(0 < popMail.Count)                                                                        
24      {   
25            /**////根据取到的邮件数量依次取得每封邮件
26            for(int i=1;i <= popMail.Count;i++)                                                      
27            {
28                /**////取得一条邮件信息
29                mailMessage = popMail.Messages;                                                      
30
31                /**////取得该邮件的附件集合
32                atts = mailMessage.Attachments;
33               
34                /**////设置邮件的编码方式                        
35                mailMessage.Charset = "GB2312";
36               
37                /**////设置邮件的附件编码方式                        
38                mailMessage.Encoding = "Base64";
39               
40                /**////是否将信头编码成iso-8859-1字符集                        
41                mailMessage.ISOEncodeHeaders = false;
42               
43                /**////邮件的优先级                     
44                txtpriority.Text = mailMessage.Priority.ToString();
45               
46                /**////邮件的发送人的信箱地址                     
47                txtSendMail.Text = mailMessage.From;
48               
49                /**////邮件的发送人                     
50                txtSender.Text = mailMessage.FromName;
51               
52                /**////邮件主题                  
53                txtSubject.Text = mailMessage.Subject;
54               
55                /**////邮件内容                  
56                txtBody.Text = mailMessage.Body;
57               
58                /**////邮件大小                        
59                txtSize.Text = mailMessage.Size.ToString();                                                         
60               
61                for(int j=0;j<atts.Count;j++)
62                {
63                  /**////取得附件
64                  att = atts;
65                  
66                  /**////附件名称                              
67                  string attname = att.Name;                                                            
68                  
69                  /**////上传到服务器
70                  att.SaveToFile("e:\\attFile\\"+attname);                                             
71                  
72                }
73               
74            }
75            panMailInfo.Visible = true;
76            att = null;
77            atts = null;
78      }
79      else
80      {
81            Response.Write("没有新邮件!");
82      }
83
84      popMail.DeleteMessages();
85      popMail.Disconnect();
86      popMail = null;
87    }
88    catch
89    {
90      Response.Write("Warning!请检查邮件服务器的设置是否正确!");
91    }
92}

[ 本帖最后由 lovetest6 于 2007-3-19 02:53 编辑 ]

walker1020 发表于 2007-4-8 16:54:37

原帖由 lovetest6 于 2007-3-19 02:51 发表 http://bbs.51testing.com/images/common/back.gif
终极解决方案:)
见:http://bbs.51testing.com/redirect.php?fid=69&tid=67317&goto=nextnewset

呵呵。

请参考http://bbs.51testing.com/thread-68662-1-9.html

白洁 发表于 2008-3-5 17:19:01

可以使用outlook实现么?

ld469 发表于 2011-7-22 12:37:31

挖挖挖,我也想知道outlook怎么做
页: [1]
查看完整版本: 如何检查邮件已经收到?