
utilities.EmailableReportGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of AUTOTESTIMATIC-JAVA Show documentation
Show all versions of AUTOTESTIMATIC-JAVA Show documentation
An open-source Selenium Java-based Test automation Framework that allows you to perform multiple actions
to test a web application's functionality, behaviour, which provides easy to use syntax,
and easy to set up environment according to the needed requirements for testing
package utilities;
import org.testng.ITestResult;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class EmailableReportGenerator {
private static final List passedTests = new ArrayList<>();
private static final List failedTests = new ArrayList<>();
private EmailableReportGenerator(){
}
public static void addPassedTest(ITestResult result) {
passedTests.add(result);
}
public static void addFailedTest(ITestResult result) {
failedTests.add(result);
}
public static void generateReportAndSendEmail(String recipientEmail, String senderEmail, String senderPassword) {
String report = "";
report += "Passed Tests
";
report += "";
for (ITestResult result : passedTests) {
report += "- " + result.getName() + "
";
}
report += "
";
report += "Failed Tests
";
report += "";
for (ITestResult result : failedTests) {
report += "- " + result.getName() + "
";
report += "
" + result.getThrowable().getMessage() + "
";
}
report += "";
report += "";
// Set up email properties
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
// Create a new session with an authenticator
Authenticator authenticator = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(senderEmail, senderPassword);
}
};
Session session = Session.getInstance(props, authenticator);
try {
// Create a new email message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(senderEmail));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipientEmail));
message.setSubject("Test Results Report");
message.setContent(report, "text/html");
// Send the email message
Transport.send(message);
LoggingManager.info("Email sent successfully!");
} catch (MessagingException e) {
LoggingManager.error(e.getMessage());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy