Отправить огурец 'index.html' отчет по электронной почте - PullRequest
0 голосов
/ 29 октября 2018

Я создал среду автоматизации тестирования, используя cucumber + appium. Но после выполнения фреймворка я хочу отправить отчет (/target/cucumber/index.html) по электронной почте как тело письма, но не могу сделать то же самое. То же самое я сделал с «testng emailable-reports.html», и он работает как шарм. Я попробовал с: - 1. Дженкинс, использующий «расширенный плагин электронной почты» для отчета о селене .html, работает нормально, а для огурца - не работает. 2. используя java mail api (библиотека jsoup).

Также, когда я щелкаю правой кнопкой мыши по отчету cucumber index.html, он показывает следующий код: -

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Cucumber Features</title>
    <link href="style.css" rel="stylesheet">
    <script src="jquery-1.8.2.min.js"></script>
    <script src="formatter.js"></script>
    <script src="report.js"></script>
  </head>
  <body>
    <div class="cucumber-report"></div>
  </body>
</html>

Когда я пытался с Java Java API, сначала я извлекаю HTML, а затем пытался отправить HTML, но он отправляет пустой отчет. Пожалуйста, помогите, как я могу отправить полный отчет в формате HTML в виде основного письма, также эти отчеты содержат прикрепленные «скриншоты», прикрепленная структура / target / cucumber / folder: - enter image description here

Пожалуйста, помогите !!

код отправки электронной почты: -

public class Email {


    public static void main(String[] args) throws IOException, SendGridException {

        FileInputStream fin=new FileInputStream(System.getProperty("user.dir")+"/src/main/resources/config.properties");
        Properties prop=new Properties();
        prop.load(fin);         



        StringBuilder path = new StringBuilder(); 

        try     
        { BufferedReader in = new BufferedReader(new FileReader(System.getProperty("user.dir")+prop.getProperty("reports"))); 
        String str; while ((str = in.readLine()) != null) 
        { path.append(str); } in.close(); } catch (IOException e) { } String content = path.toString();

        System.out.println("HTML IS :---" +path);



        SendGrid sendGrid = new SendGrid("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
        SendGrid.Email email = new SendGrid.Email();

        try {
            String[] toList ={"suresh.s@gmail.in","suresh98714@gmail.com"};
            email.addTo(toList);
        } catch (Exception e) {

            String emailTo = "suresh98714@gmail.com";

            email.addTo(emailTo);
        }

        email.setFrom("suresh98714@gmail.com");


        try {
            SMTPAPI smtpapi = email.getSMTPAPI();

            String[] cc ={"suresh.s@cashify.in","suresh98714@gmail.com"};
            email.setCc(cc);
        } catch (Exception e) {

        }
        try {// for bcc
            String[] bcc = {"",""};
            email.setBcc(bcc);
        } catch (Exception e) {

        }


        email.setSubject("Cucumber Report");
        email.setHtml(path.toString());

        SendGrid.Response response =sendGrid.send(email);
        System.out.println("Response is " +response.toString());    




    }

Ожидаемое письмо по электронной почте (прикрепленный скриншот): - enter image description here

1 Ответ

0 голосов
/ 27 марта 2019

Как видите, папка cucumber в папке target содержит файлы js и CSS, кроме файла index.html, который вы хотите отправить в качестве вложения в электронное письмо. Html-файл использует эти файлы как зависимости, поэтому вы не можете отправить отдельный HTML-файл, и поэтому вы получаете пустой файл. Одним из решений является сжатие всей папки с огурцом и ее отправка в виде вложения, а другое - создание настраиваемой оболочки для создания собственного автономного отчета в формате HTML с использованием файла cucucmber.json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...