Nodejs Protractor + Jasmine + JUnitXmlReporter запускает тест, но не дожидаясь браузера

Я выполняю сквозное тестирование веб-сайта Angular с использованием транспортира, но хотел экспортировать результаты в файл, который может прочитать Дженкинс (JUnitXmlReporter), поэтому для этого мне нужно сделать «простое изменение» в моем файле конфигурации транспортира на "при подготовке":

exports.config = {
  // Do not start a Selenium Standalone sever - only run this using chrome.
  framework: 'jasmine',
  // Capabilities to be passed to the webdriver instance.
  capabilities: {
    'browserName': 'chrome'
  },

  specs: [
    './test1.js',
    './test2.js'
  ], 
  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    isVerbose: true
  },
  onPrepare: function() {
      var jasmineReporters = require('jasmine-node-reporter-fix');
      jasmine.getEnv().addReporter(
             new jasmineReporters.JUnitXmlReporter('protractor_output', true, true, 'testresults.e2e.');
  }
};

но как только я добавляю этот код "onPrepare", все тесты запускаются, не дожидаясь, пока браузер отобразит HTML. Если я удалю код «onPrepare», все тесты начнут работать, как и ожидалось, но для jenkins не будут созданы файлы.

Есть идеи, что не так?


person chulian    schedule 14.07.2014    source источник


Ответы (1)


Возможно, вам придется дождаться обещания браузера.

onPrepare: function() {
  var jasmineReporters = require('jasmine-node-reporter-fix');
  var capsPromise = browser.getCapabilities();
  capsPromise.then(function (caps) {
    jasmine.getEnv().addReporter(
      new jasmineReporters.JUnitXmlReporter(
        'protractor_output', true, true, 'testresults.e2e.');
  }
}

Тем не менее, если вы используете Protractor, вам может потребоваться вызвать JUnitXmlReporter из объекта jasmine, а не jasmineReporters. Я не использую node-jasmine или jasmine-node-reporter-fix, поэтому не могу сказать, как экспортируется репортер, но на "jasmine-reporters":"~1.0.0" репортер все еще был прикреплен к объекту jasmine.

https://github.com/larrymyers/jasmine-reporters#protractor

person Snekse    schedule 01.09.2014