Good framework should automatically send the test results to all the stakeholders, once the test is complete.
Best approach would be using CDO object, it is not required to install MS Outlook on the PC where test is getting executed.
Attaching email notification function with error logic that can validate whether email sent successfully.
Note: Replace the variable names with your program variable names or constants.
Function funSendEmail()
If gsEmailNotification = "ON" Then
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2
Const cdoAnonymous = 0
' Use basic (clear-text) authentication.
Const cdoBasic = 1
' Use NTLM authentication
Const cdoNTLM = 2 'NTLM
' Create the message object.
Set objMessage = CreateObject("CDO.Message")
'Set the from address this would be your email address.
objMessage.From = gsEmailListFrom
' Set the TO Address separate multiple address with a comma
objMessage.To = gsEmailListTo
objMessage.Cc = gsEmailListCc
' Set the Subject.
objMessage.Subject = gsEmailSubject & " - " & Environment("envsPlace")
' Now for the Message Options Part.
' Use standared text for the body.
objMessage.TextBody = gsEmailBody
' Or you could use HTML as:
' objMessage.HTMLBody = strHTML
' ATTACHMENT : Add an attachment Can be any valid url
Set fso = CreateObject("Scripting.FileSystemObject")
' Test Log
' Set folder = fso.GetFolder(gsFolderPath & "ExecutionLog")
' Set files = folder.Files
'
' For each folderIdx In files
' objMessage.AddAttachment(folderIdx)
' Next
objMessage.AddAttachment(gsTestSummaryFilePath)
' Control file
objMessage.AddAttachment(gsDataFileSelect)
' TestCase File
Set folder = fso.GetFolder(gsFolderPath & "AutomationTestCases")
Set files = folder.Files
For each folderIdx In files
objMessage.AddAttachment(folderIdx)
Next
' Response Time xls file
If gsResponseTimeXlsPath = Empty Then
Else
objMessage.AddAttachment(gsResponseTimeXlsPath)
End If
Set folder = Nothing
Set folder = Nothing
Set files = Nothing
' This section provides the configuration information for the SMTP server.
' Specifie the method used to send messages.
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = _
cdoSendUsingPort
' The name (DNS) or IP address of the machine
' hosting the SMTP service through which
' messages are to be sent.
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"mail.xxxx.com"
' Specify the authentication mechanism
' to use.
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = _
cdoBasic
' The username for authenticating to an SMTP server using basic (clear-text) authentication
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = _
"Username"
' The password used to authenticate
' to an SMTP server using authentication
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = _
"Password"
' The port on which the SMTP service
' specified by the smtpserver field is
' listening for connections (typically 25)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = _
25
'Use SSL for the connection (False or True)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = _
False
' Set the number of seconds to wait for a valid socket to be established with the SMTP service before timing out.
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = _
60
' Update configuration
objMessage.Configuration.Fields.Update
' Use to show the message.
' MsgBox objMessage.GetStream.ReadText
On Error Resume Next
' Send the message.
objMessage.Send
' Setting global message list to empty as we are appending the existing file
If err.number = 0 Then
sMessages = "Email sent Successfully "
Else
sMessages = "***Email NOT sent Successfully"
End If
Call funMessages(sMessages)
On Error Goto 0
' This will delete the test log and recreate again (Text file append is not working, generating write permission error)
Call funCreateTestLog()
Set objMessage = Nothing
End If
End Function
---
hi Bharath,
ReplyDeleteI want to verify the content(body) of mail so I am following below steps:
1. Getting mail body as HTMLBody
2. Writing the same thing to one file such as .htm
But I am getting error while writing plz can u help me on this.
Error ?
Delete