All Downloads are FREE. Search and download functionalities are using the official Maven repository.

utilities.EmailableReportGenerator Maven / Gradle / Ivy

Go to download

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

There is a newer version: 1.1.1
Show newest version
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