2016-10-04 4 views
2

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

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

capabilities: { 
    'browserName': 'chrome',  
    'shardTestFiles': true, 
    'maxInstances': 0 
    }, 

Q1. Но мой вопрос связан с тем, почему хромированный реверс не выходит, когда сценарий терпит неудачу? (Это происходит только тогда, когда я использую значение maxInstance> 0). Выход хромированной решетки с кодом выхода - 3 и кодом выхода - 1.

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

Любая помощь будет оценена по достоинству?

Благодаря

+0

'транспортир-огурец-framework' [кажется, не поддерживает] (https://github.com/protractor-cucumber-framework/protractor-cucumber-framework/pull/25), когда вы работаете в режиме ожидания. Чтобы решить эту проблему, замените 'protractor-oucumber-framework' на' serenity-js', который имеет эту функциональность. Дополнительная информация в [этом ответе] (http://stackoverflow.com/questions/34821016/is-there-a-protractor-reporting-tool-that-works-with-a-cucumber-framework/42598696#42598696). –

ответ

0

Существующее поведение correct.Do не используют 'maxInstances': 0 Значение по умолчанию равно 1 и любое value>1 правильный способ сделать это. Ошибка, что вы видите, потому что то, как исходный код - taskScheduler

Они обработки осколок испытания в этом taskScheduler экспорта и логику maxinstances как ниже

this.maxInstance = capabilities.maxInstances || 1; 
/** 
* Get maximum number of concurrent tasks required/permitted. 
* 
* @return {number} 
*/ 
count += Math.min(queue.maxInstance, queue.specLists.length); 

Итак, если у вас есть maxInstances 0, оно будет вызывают проблемы, и ваш код никогда не выйдет из строя. Кроме того, я не думаю, что ваш код будет работать параллельно

То, что я хотел бы предложить

  1. Проверьте версию транспортир и обновление до последней

  2. Изменить конфигурационный файл, чтобы - 'maxInstances': 3 // ничего больше чем 1. 1 по умолчанию

+0

Кажется, что нет никакой нативной поддержки для упреждающего устройства для огурца версии 2.5. Он имеет поддержку пользовательских рамок, а рамки огурца должны быть «транспортир-огурец-каркас». Я изменил «maxInstances» = 1. Но я вернулся к квадрату. Есть ли причина, по которой хромированный редуктор выходит, когда сценарий выходит из строя? – Galileo123

1

Чтобы сгенерировать консолидированный отчет html после параллельного запуска, я использовал afterLaunch p arameter в файле protractor.conf.js и использовали https://github.com/gkushang/cucumber-html-reporter. Ниже код-

afterLaunch: function afterLaunch() { 
    var cucumberHtmlReporter = require('cucumber-html-reporter'); 
    var jsonReportFolder = '/path/to/all/json/reports'; 
    var cucumberhtmlReport = path.join(jsonReportFolder, cucumber.html'); 
    var options = { 
     theme: 'bootstrap', 
     jsonDir: jsonReportFolder, 
     output: cucumberhtmlReport, 
     reportSuiteAsScenarios: true, 
     launchReport: true 
    }; 

    cucumberHtmlReporter.generate(options); 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^