log4js-protractor-appender в асинхронной функции в тестах транспортира ничего не печатает - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь добавить регистратор в мой проект protractor-cucumber-typcript.Я просмотрел несколько статей, но не нашел много подходящего для этой цели.

Вот статья SO, за которой я последовал слову: У меня возникли проблемы с использованием log4js-protractor-appender

и я перемоделировал здесь: Ошибка в конфигурации log4js: должно иметь свойство «appenders» типа object

Однако мои пошаговые определения написаны асинхронно и не выдают на консоли оператора browser.logger.info в реальном времени..

Может ли кто-нибудь помочь мне с примером для машинописного текста?Ниже приведен мой код для проекта

stepdefs.ts

Given(/^I am on the Google site for "(.*?)"$/, async (text) => {
    await toplinks.navigate_SearchText();
    let textUI = await toplinks.getText_Search();
    browser.logger.info("This is what I am looking for");        
    await expect(textUI).equal('Financial Advisors');
});

conf.ts

    beforeLaunch:function(){
            if (fs.existsSync('./logs/ExecutionLog.log')) {
                fs.unlinkSync('./logs/ExecutionLog.log')
            }
            log4js.configure({
                appenders: {
                    fileLog: { type: 'file', filename: './logs/ExecutionLog.log' },
                    console: { type: 'log4js-protractor-appender' }
                },
                categories: {
                    file: { appenders: ['fileLog'], level: 'error' },
                    another: { appenders: ['console'], level: 'trace' },
                    default: { appenders: ['console', 'fileLog'], level: 'trace' }
                }
            });
        },

onPrepare: () => {
        browser.ignoreSynchronization = true;
        browser.manage().timeouts().implicitlyWait(12000);
        browser.manage().window().maximize();
        browser.logger = log4js.getLogger('another');
        Reporter.createDirectory(jsonReports);      
    },
...