Как написать контрольный пример отправки по электронной почте и прочитать контрольный пример файла Excel в Selenium - PullRequest
0 голосов
/ 15 мая 2018

Вот мой код, чтобы написать пример теста для отправки по электронной почте. При запуске кода электронная почта не срабатывает. Пожалуйста, найдите прикрепленные данные для более подробной информации

  1. Вход в систему Данные пользователя
  2. Неправильные данные пользователя
  3. Данные бронирования

Может кто-нибудь помочь решить проблему, так как я новичок в тестировании автоматизации селена. Ниже приведен пример кода моего Java-кода для настройки и запуска электронной почты.

Как отправить уведомление по электронной почте в веб-драйвере Selenium с использованием Java, когда какой-либо сценарий не выполняется / передается между ними?


public class SendEmail {
public SendEmail() {
    }

    public void email() {

        // Create object of Property file
        Properties props = new Properties();

        // this will set host of server- you can change based on your
        // requirement
        props.put("mail.smtp.host", "smtp.gmail.com");

        // set the port of socket factory
        props.put("mail.smtp.socketFactory.port", "465");

        // set socket factory
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

        // set the authentication to true
        props.put("mail.smtp.auth", "true");

        // set the port of SMTP server
        props.put("mail.smtp.port", "465");

        // This will handle the complete authentication
        Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("seleniumtest201@gmail.com", "Admin12!@");
            }
        });
        try {

            // Create object of MimeMessage class
            Message message = new MimeMessage(session);

            // Set the from address
            message.setFrom(new InternetAddress("seleniumtest201@gmail.com"));

            // Set the recipient address
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("aniketgupta1993@gmail.com"));

            // Add the subject link
            message.setSubject("Test Case Execution Report");

            // Create object to add multi media type content
            BodyPart messageBodyPart1 = new MimeBodyPart();

            // Set the body of email
            messageBodyPart1.setText("This is auto-generated test case execution report");

            // Create another object to add another content
            MimeBodyPart messageBodyPart2 = new MimeBodyPart();

            // Mention the file which you want to send
            String filename = "C://Users//aniket//sampleseleniumproject//test-output//emailable-report.html";

            // Create data source and pass the filename
            DataSource source = new FileDataSource(filename);

            // set the handler
            messageBodyPart2.setDataHandler(new DataHandler(source));

            // set the file
            messageBodyPart2.setFileName(filename);

            // Create object of MimeMultipart class
            Multipart multipart = new MimeMultipart();

            // add body part 1
            multipart.addBodyPart(messageBodyPart2);

            // add body part 2
            multipart.addBodyPart(messageBodyPart1);

            // set the content
            message.setContent(multipart);

            // finally send the email
            Transport.send(message);

            System.out.println("=====Email Sent=====");

        } catch (MessagingException e) {

            throw new RuntimeException(e);
        }
    }
}

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете использовать следующий код для получения электронной почты, когда выполнение завершено, и это помещено в разбор, чтобы вы могли получать уведомления по электронной почте в веб-драйвере selenium, когда сценарий не выполняется / передается между

public void tearDown()

{

private static void sendPDFReportByGMail(String from, String pass, String to, String subject, String body) 

{

Properties props = System.getProperties();

String host = "smtp.gmail.com";

props.put("mail.smtp.starttls.enable", "true");

props.put("mail.smtp.host", host);

props.put("mail.smtp.user", from);

props.put("mail.smtp.password", pass);

props.put("mail.smtp.port", "587");

props.put("mail.smtp.auth", "true");

Session session = Session.getDefaultInstance(props);

MimeMessage message = new MimeMessage(session);

try {

    //Set from address

message.setFrom(new InternetAddress(from));

message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

//Set subject

message.setSubject(subject);

message.setText(body);

BodyPart objMessageBodyPart = new MimeBodyPart();

objMessageBodyPart.setText("Please Find The Attached Report File!");

Multipart multipart = new MimeMultipart();

multipart.addBodyPart(objMessageBodyPart);

objMessageBodyPart = new MimeBodyPart();

//Set path to the pdf report file

String filename = System.getProperty("user.dir")+"\\Default test.pdf";

//Create data source to attach the file in mail

DataSource source = new FileDataSource(filename);

objMessageBodyPart.setDataHandler(new DataHandler(source));

objMessageBodyPart.setFileName(filename);

multipart.addBodyPart(objMessageBodyPart);

message.setContent(multipart);

Transport transport = session.getTransport("smtp");

transport.connect(host, from, pass);

transport.sendMessage(message, message.getAllRecipients());

transport.close();

}

catch (AddressException ae) {

ae.printStackTrace();

}

catch (MessagingException me) {

me.printStackTrace();

}

}

}
...