Отчеты Allure не создаются в Protractor

Я включил приведенный ниже код в свой файл conf.js, но отчеты Allure не генерируются.

onPrepare : function() {
    var AllureReporter = require('jasmine-allure-reporter');
    jasmine.getEnv().addReporter(
        new AllureReporter({
            allureReport : {
                resultsDir : 'allure-results'
            }
        })
    );

    jasmine.getEnv().afterEach(function(done) {
        browser.takeScreenshot().then(function(png) {
            allure.createAttachment('Screenshot', function() {
                return new Buffer(png, 'base64')
            }, 'image/png')();
            done();
        })
    });
}

Пожалуйста, дайте мне знать, если я что-то упустил.
Спасибо,
Шринивас


person Srinivas    schedule 13.03.2016    source источник
comment
Давайте немного отладим. Что, если вы поместите все, что у вас есть, в блок jasmine.getEnv().afterEach(function(done) { и переместите это в блок afterEach в одном из ваших тестов — вы увидите отчет, сгенерированный после запуска теста? Спасибо.   -  person alecxe    schedule 13.03.2016
comment
Я сделал это и попробовал. Выдает ошибку ReferenceError: allure не определен и все тесты не пройдены.   -  person Srinivas    schedule 13.03.2016
comment
Я сделал это и попробовал. Это дает ошибку, поскольку время ожидания спецификации Jasmine истекло. Сброс потока управления WebDriver. Включил следующий код в мой тестовый файл. полученные результаты' } })) });   -  person Srinivas    schedule 13.03.2016


Ответы (1)


Зарегистрируйте верхний пакет после каждой функции:

onPrepare : function() {
    var AllureReporter = require('jasmine-allure-reporter');
    var reporter = new AllureReporter({
        allureReport : {
            resultsDir : 'allure-results'
        }
    });
    jasmine.getEnv().addReporter(reporter);

    jasmine.getEnv().topSuite().afterEach({fn: function() {
        browser.takeScreenshot().then(function(png) {
            allure.createAttachment('Screenshot', function() {
                return new Buffer(png, 'base64')
            }, 'image/png')();
        })
    }});
}

Не испытано.

person alecxe    schedule 13.03.2016
comment
Это сработало. Спасибо за ваш ответ. Но я должен внести небольшое изменение, чтобы заставить его работать. Вместо reporter.createAttachment('Screenshot', function() { мне пришлось изменить его на allure.createAttachment('Screenshot', function() { - person Srinivas; 13.03.2016
comment
@Srinivas хорошо, включил это в ответ. См. stackoverflow.com/help/someone-answers. Спасибо! - person alecxe; 13.03.2016