Как отправить электронное письмо, если тестовый пример транспортира e2e не работает?

Я пишу тестовые примеры транспортира e2e. Во время выполнения тестовых случаев, если какой-либо тестовый пример не пройден, он должен отправить электронное письмо. Как это сделать?

Заранее спасибо.


person Nagarjuna Reddy    schedule 20.12.2014    source источник
comment
что вы используете для запуска тестов? Что такое текущая карма? ворчать? глоток?   -  person Davin Tryon    schedule 20.12.2014
comment
он, вероятно, запускает Protractor напрямую через: github.com/angular/protractor/blob/ master/bin/транспортир   -  person Leo Gallucci    schedule 20.12.2014
comment
Jenkins — это правильный инструмент для CI, он имеет встроенные уведомления по электронной почте и полностью настраивается. Другой вариант — найти решение NodeJS для отправки электронных писем (Protractor работает в узле).   -  person Leo Gallucci    schedule 20.12.2014
comment
Но если цель состоит в том, чтобы получить локальное уведомление о сбое; Уведомления Growl было бы неплохо иметь :)   -  person Leo Gallucci    schedule 20.12.2014
comment
@Davin Tryon, я использую веб-драйвер для запуска тестовых случаев.   -  person Nagarjuna Reddy    schedule 20.12.2014
comment
@LeoGallucci, как вы думаете, я неправильно объяснил суть ответа? Пытаюсь понять, почему кто-то проголосовал. Спасибо.   -  person alecxe    schedule 07.04.2015
comment
Не знаю, кто проголосовал за ваш ответ, но я думаю, потому что он не дает строгого ответа на вопрос, он / она, вероятно, искал быстрый ответ на то, как отправлять электронные письма из NodeJS по каждой неудачной спецификации жасмина, и не заинтересован в настройке Jenkins/Bamboo/x .   -  person Leo Gallucci    schedule 08.04.2015
comment
@LeoGallucci это имеет смысл, иногда люди ищут быстрые решения для копирования / вставки и не хотят слушать лекцию о том, что они делают неправильно и что еще нужно настроить. Спасибо!   -  person alecxe    schedule 08.04.2015


Ответы (1)


После комментариев Лео.

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

Обычный способ сообщить об ошибках теста по электронной почте — это сделать это на сервере непрерывной интеграции, таком как jenkins или bamboo. Идея состоит в том, чтобы использовать JUnitXmlReporter Reporter из jasmine-reporters для создания Junit XML отчета, который jenkins или bamboo знает, как читать и анализировать. Затем сообщите о результатах теста по электронной почте.

Вызовите JUnitXmlReporter в своей функции onprepare() в конфигурации транспортира:

onPrepare: function() {
    // The require statement must be down here, since jasmine-reporters
    // needs jasmine to be in the global and protractor does not guarantee
    // this until inside the onPrepare function.
    require('jasmine-reporters');
    jasmine.getEnv().addReporter(
      new jasmine.JUnitXmlReporter('xmloutput', true, true));
},
person alecxe    schedule 20.12.2014