致力于测试团队建设和自动化测试开发,欢迎有兴趣者一起研究讨论

QC实例-后台邮件通知功能代码

上一篇 / 下一篇  2008-11-25 17:28:28 / 个人分类:QC

转载请保留:本文出自zte_boy的51Testing软件测试博客:http://www.51testing.com/?161787

Xyj.w:oQ5P7\0

EQ J/s&L0QualityCenter自带的邮件发送配置功能实在是不好用:
Cq0dI1aK+_z01)邮件发送标题不够直观,不能明确缺陷处理阶段
MnT)e2K*c+[(N$d02)邮件发送延时现象及其严重,甚至有时候会丢失

c|-BZ9Q*f/@\o0

+[$imp+] a8J8M0鉴于以上两个原因,特意在后台重写了邮件通知功能,新建了两个方法
2r*m7V:p%R01)GetInfo
-K4d Mm fV}Z7T'd0  负责查找需要发送责任人的邮件地址
._.Ayp0ou}y:LZ02)SendMail
"Ayyr,Mo_ M0  调用GetInfo方法,并利用BugFactory对象获取Bug的具体信息,并发送邮件51Testing软件测试网u&c)s0g6M'g?S2k
3)完成后在Defects_Bug_AfterPost过程中调用SendMail即可

%D,k(M[be g_r U:z0

q0F e E}c~0在后台实现的邮件通知功能效率明显高于配置,10S内就能接收到通知邮件,且标题一目了然

e rt v3fv/pT0

]5}1n7}:M.hb J0代码:

5{@&STI.GM051Testing软件测试网'qZ Q"b[3Z

Function GetInfo(User,Psw,DSource,DBase,SqlStr)51Testing软件测试网innn!yk(gca5s
         'Dim rs,conn,sqlstr,strcon
|"\i&w#e8]"t4Z+jP0         StrCon = "Provider=sqloledb;User ID="&User &_51Testing软件测试网GEg*k#Vm2]1o4M
             ";Password="&Psw &_
9`?W;w6R|-Ptd{s yL0             ";Data source="&DSource &_
vZG\i6Q5g0             ";DATABASE="&DBase51Testing软件测试网s8K2rEm AZ@:tD

51Testing软件测试网 |6B2V ZyoXb6x

         Set Conn = createobject("adodb.connection")51Testing软件测试网!e K(pY'XK0eWXV
         Conn.open StrCon51Testing软件测试网2D,fy/WB$K&Dw&wV \I&s

5LC)t`*tO6a0         Set Rs=createobject("adodb.recordset")51Testing软件测试网SY6MD!a2Vw1x
         Rs.open SqlStr,Conn,1,151Testing软件测试网@i ?OG&q8e

:m[4A_C)AYx(W0         If NOT(Rs.BOF = True And Rs.EOF = True) Then51Testing软件测试网/RO[rn&REo
           'RsCount = Rs.Fields.Count51Testing软件测试网!vk!kc4W\
           'For i = 0 To RsCount - 1
:u5qoiF"{0             Info = Rs.Fields(0).value
D0n$KkO6hX'Z0           'Next51Testing软件测试网,V"i"q)| BE B
         End If

OMl f z0

3J EhZ5bk0         GetInfo = Info

Qy]"?k[+K,] Y0q0

R%E9A BVq0         set Rs = Nothing51Testing软件测试网m9euQo C'}z(@
         Set Conn = Nothing
~R[!L(`^;Y Br(r4]0End Function51Testing软件测试网7kpO7S6gd

51Testing软件测试网]4Z]6s|vuO

Sub SendMail()
vp$aV ~z0         On Error Resume Next51Testing软件测试网F7N g1Hi2b"Z,g!@

51Testing软件测试网#z;D'B3l.be$f7o p!R

         UserId = "xxx"51Testing软件测试网&hs?&n]i+j
         PWord = "xxx"
(_:z|,nIr4I0         DataSource = "xxx"
8U*Sx a)x:t0         DataBase = "qcsiteadmin_db"51Testing软件测试网;g7S1x4y,{2~-W0z1`K

51Testing软件测试网-UCai!Uo#d

         Id = Bug_Fields("BG_BUG_ID").Value

wV1@-FxKgx-z:\;W051Testing软件测试网h/u SGu8i7cE

         Set ōbjBugFactory = TDConnection.BugFactory51Testing软件测试网!e2n(TZg(iu
         'set BugFilter = ObjBugFactory.Filter51Testing软件测试网Z;g$~@,iP

odKxa5r*|5O0         'BugFilter.Filter("BG_BUG_ID") = Id
3iA0N2?VW0w(s0         set ōbjBug = ObjBugFactory.Item(Id)

0x8[J+]0O5^ G#E051Testing软件测试网{nJ*E D;SzV

         'set BugList = BugFilter.NewList

7ew8BZ@ `%v0

Uw+R1Q#|:x0         'For each ObjBug in BugList

!Z GR6m!r051Testing软件测试网] ~ H8\A2c:`/S jA

         '获取项目
Up1]U7u0         PojName = TDConnection.ProjectName51Testing软件测试网+W:n$m)N#vZ`%IW

51Testing软件测试网4N sPHFQx

         StrComment = ""

t"TN2x.u \'OSl7y051Testing软件测试网H,M5L:QPf1_Z;f.Lb

         '已提交
gU6z {{%?D0VQ0         If ((Bug_Fields("BG_USER_01").Value = "已提交") And _
xc0Dm5z#s!q0            (Bug_Fields("BG_RESPONSIBLE").IsModified))Then

[TrZQS051Testing软件测试网9p BcE1J[~e

            '设置邮件接收人和标题
'ZmrPq%@0            UName = ObjBug.Field("BG_RESPONSIBLE")51Testing软件测试网NA1D4lz,Z

51Testing软件测试网 }k9u4Q!Y9nT*}

            'msgbox UName

Wz t7I h2xux*a"@051Testing软件测试网XPrg$| ~G

            Sql = "select EMAIL from td.USERS where USER_NAME = "&"'"&UName&"'"

],bp Oq;s051Testing软件测试网1t$w~ J*|.Rkj4Qg

            'msgbox Sql51Testing软件测试网v _ ?ApAM3N;z_

51Testing软件测试网1O7BhItB

            StrTo = GetInfo(UserId,PWord,DataSource,DataBase,Sql)51Testing软件测试网 Qe+}ku;X(k

51Testing软件测试网1GyI p`

            'Msgbox StrTo

ut$W} M B%E0

"XS's$Uj)n0            StrCc = ""51Testing软件测试网'}!h/X?D)R
            StrSubject = PojName&":您有新分配的缺陷"&"(ID:"&Id&")"& _
2K!X1X/t-p%e6E A&]_0                         ",请及时修改!"51Testing软件测试网t\wQ&au`m f

!G)t&wVd([9RO0            '发送邮件51Testing软件测试网,Js7G7Q%ZG
            ObjBug.Mail StrTo, StrCc, TDMAIL_TEXT, StrSubject, StrComment

ES;D#hjF051Testing软件测试网hW3X#{;rcB

         End If

~2_^If%X051Testing软件测试网jo'ij9c"MQ mh

         '未修复-修改状态未更改责任人51Testing软件测试网6Q#P#L+U)z.lHq
         If ((Bug_Fields("BG_USER_01").IsModified) And _
+hRg],h Lx6b M[e-B0             (Bug_Fields("BG_USER_01").Value = "未修复"))Then51Testing软件测试网+Sj:[u$k9ZQ

/b6CH3ZY0            '设置邮件接收人和标题
~Siwa:d1c6Ls"y0            UName = ObjBug.Field("BG_RESPONSIBLE")

W IA2W#A]5P)?0W0P0

N'WuU,P3E)r0            Sql = "select EMAIL from td.USERS where USER_NAME = "&"'"&UName&"'"51Testing软件测试网F([:F3gVA

51Testing软件测试网;@f!m8hx}]1P

            StrTo = GetInfo(UserId,PWord,DataSource,DataBase,Sql)

S ^)a,|.X6Y%Tv:N051Testing软件测试网/rO1EA7w-Ot1m!H

            StrCc = ""
N)Y\:f:@+P u~0            StrSubject = PojName&":您修改的缺陷"&"(ID:"&Id&")"& _
0|~Pk*jS0                         "验证未通过!"51Testing软件测试网$f3?3wN}

Ox#F:L9a0            '发送邮件51Testing软件测试网J @P$@6]9I
            ObjBug.Mail StrTo, StrCc, TDMAIL_TEXT, StrSubject, StrComment

f(e/@T%W$y%K0

z)K ^J1\7v0         End If51Testing软件测试网p W3|}8mP\

51Testing软件测试网DI.N3l Mz1a0g

         '未修复-未改状态但更改责任人51Testing软件测试网mQ6r:S#K6]y![
         If ((Bug_Fields("BG_RESPONSIBLE").IsModified) And _
7i!z e7`){N)k0             (Bug_Fields("BG_USER_01").Value = "未修复"))Then

_N0Qaalo0

$U*AH:~;^.R+NDk0            '设置邮件接收人和标题51Testing软件测试网4H"}W ^9xy
            UName = ObjBug.Field("BG_RESPONSIBLE")

y}1k5y wQ2a"y;y0

wlpK4S }l6_x0            Sql = "select EMAIL from td.USERS where USER_NAME = "&"'"&UName&"'"51Testing软件测试网0O:dr%L(fV

51Testing软件测试网%a;Xk yO Q r

            StrTo = GetInfo(UserId,PWord,DataSource,DataBase,Sql)

^5Hv^pr'w0

*dfW2M8R;xJ0            StrCc = ""
9tfKH7h0            StrSubject = PojName&":您有新分配的缺陷"&"(ID:"&Id&")"& _
|/RYys \Q:hn0                         ",请及时修改!"

a%WjFk I051Testing软件测试网2^8f|8` k7l

            '发送邮件
6Q)kSBnu0            ObjBug.Mail StrTo, StrCc, TDMAIL_TEXT, StrSubject, StrComment51Testing软件测试网 F4xK J2a?

51Testing软件测试网+alt9[ NB7r.Lu

         End If51Testing软件测试网!{2[Q*o/K Nz#wU

&P9iGUsM0         '待验证
!mCe)G({4q!HI0         If ((Bug_Fields("BG_USER_01").IsModified) And _51Testing软件测试网[J[%n]'n Q/T
             (Bug_Fields("BG_USER_01").Value = "待验证"))Then51Testing软件测试网@5M0n7|6~un

.~ E9^i7a#lf0            '设置邮件接收人和标题51Testing软件测试网-v!yk6|r:Bx
            UName = ObjBug.Field("BG_DETECTED_BY")51Testing软件测试网+o Z$o"C-k

!b OS!P#]:Uv-v0            Sql = "select EMAIL from td.USERS where USER_NAME = "&"'"&UName&"'"

fb'z\ btKU0

0y e1f Rhj{R7kz0            StrTo = GetInfo(UserId,PWord,DataSource,DataBase,Sql)51Testing软件测试网D$qBu.~ ]l;_;Zgt

51Testing软件测试网K5^o r7m C_ ~

            StrCc = ""51Testing软件测试网$aqYe r1|3JX8sp;O
            StrSubject = PojName&":您提交的缺陷"&"(ID:"&Id&")"& _51Testing软件测试网2@!l2dVzX-eC-c O
                         "已修改完成,请及时验证!"51Testing软件测试网$iO%z;b!s4V

51Testing软件测试网V5r(Uz"R4_k j d d0Uv

            '发送邮件51Testing软件测试网~^ GJf(I3`
            ObjBug.Mail StrTo, StrCc, TDMAIL_TEXT, StrSubject, StrComment51Testing软件测试网 u#H WH L*["L8k'lq'C6w

3^&Mt~$MQ'v$By qq0         End If

"vXN#X9WK8kM.j9N x0

L;@8|K0Zs Z1W0         '已驳回51Testing软件测试网:c Y+H#h"hhj_3G
         If ((Bug_Fields("BG_USER_01").IsModified) And _
VU9W$[2J U!i0G0             (Bug_Fields("BG_USER_01").Value = "已驳回"))Then51Testing软件测试网D lFj |:G5F%M

51Testing软件测试网k,k,y]R uC

            '设置邮件接收人和标题
3jI4s b5Radj0            UName = ObjBug.Field("BG_DETECTED_BY")

'A0|7p+HV}J8D:[,Y!t0

1[g;YhD'~d0            Sql = "select EMAIL from td.USERS where USER_NAME = "&"'"&UName&"'"51Testing软件测试网,l{d'N4X4T~ O

XR y-IW p0            StrTo = GetInfo(UserId,PWord,DataSource,DataBase,Sql)51Testing软件测试网-pmR&U*\K0C

U$v;X\F,H j!]8x0            StrCc = ""
"b/TG;o&uag7h&`0            StrSubject = PojName&":您提交的缺陷"&"(ID:"&Id&")"& _
tK7l q$dGo0                         "被驳回,请关注!"51Testing软件测试网"?6mX2[2fc.QQ.r8R8z

51Testing软件测试网!oM'] `-\t!E

            '发送邮件
!Z~`-F U$~o6a0            ObjBug.Mail StrTo, StrCc, TDMAIL_TEXT, StrSubject, StrComment51Testing软件测试网#|*TA,u9\0I

5\a!gDs6gb0         End If51Testing软件测试网IK5at;Zg(Hx&s

w(Q,a ?Vp0         'Next51Testing软件测试网_5M5V5ep(V%V'i

51Testing软件测试网l6HP8E N?

         Set ōbjBug = Nothing
:fa-[ N0Q,d.Q dE0         Set ōbjBugFactory = Nothing

0v'AaHp/u dz!C.VS)U051Testing软件测试网;lIw,{[9ov

         On Error GoTo 051Testing软件测试网%p;y;o2[ VT
End Sub51Testing软件测试网'rFzq0A5YU.DH;Z

转载请保留:本文出自zte_boy的51Testing软件测试博客:http://www.51testing.com/?161787

&yE9Qt9X5n+O&r5b0

TAG: QC

引用 删除 thomas0728   /   2014-03-07 14:59:47
请教一下:
如果你的defect 有attachment 文件时,你的mail 如何加入文件,据我所知,你把SendMail() 放在afterpost 里,你是存取不到attachment 的资料,不知你有何作法
谢谢
ps:我的 mail:thomas0728@gmail.com
萧萧枫林的个人空间 引用 删除 onlonely   /   2009-02-10 09:08:59
关键处的代码注释太少,很难根据你的代码来修改和优化。
1honglong1的个人空间 引用 删除 1honglong1   /   2009-02-10 08:50:31
1
UserId = "xxx"
         PWord = "xxx"
         DataSource = "xxx"这xxx分别代表什么?
mystudy365cn的个人空间 引用 删除 mystudy365cn   /   2009-01-16 23:07:36
我最近刚刚开了个知识店,没有花1分钱投资,直接注册后就开通了,还赠送了5个积分,写日志、投稿都能赚钱,我的学习笔记也能卖钱,不到一个月时间,用业余时间居然赚了将近2000块钱,请您到我的知识店看看吧,我的知识店地址是:http://cmmi3.study365.cn/ 如果您也想开一个和我一样的知识店,请在此注册:http://www.study365.cn/reg_cmmi3.html
jefeelee的个人空间 引用 删除 jefeelee   /   2008-12-09 09:42:03
麻烦楼主也帮我看看,先谢了
http://bbs.51testing.com/thread-134864-1-1.html
Snail's Home 引用 删除 FLY000   /   2008-12-02 20:27:56
能帮我看个问题吗?
http://bbs.51testing.com/thread-134254-1-1.html
 

评分:0

我来说两句

日历

« 2024-05-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 91304
  • 日志数: 79
  • 图片数: 1
  • 建立时间: 2008-05-18
  • 更新时间: 2009-06-04

RSS订阅

Open Toolbar