2014-12-10 1 views
4
  1. Мы интегрировали ртутный репозиторий с сервером Jenkins.
  2. Всякий раз, когда репозиторий обновляется, сервер Jenkins запускает автоматическую сборку и автоматически запускает тестовые сценарии E2E. Он запускает браузер для запуска тестовых примеров.
  3. Итак, в моем случае Jenkins, работающий на сервере, нет установленных браузеров. поэтому нам нужно запустить тест транспортира E2E, не открывая браузер.

Заранее спасибо. Любая помощь очень ценится.Как запустить тест protractor e2e без открытия браузера через сервер Jenkins?

ответ

1

Вам нужен сервер селена - ваш собственный (в этом случае вам нужно будет запускать узлы селена) или стороннюю услугу, например browserstack, или saucelabs.

Лично у меня был опыт настройки Bamboo для ежедневного запуска тестов e2e на браузере. Вот конфигурация транспортир мы использовали:

'use strict'; 

var browserstackUser = 'user'; 
var browserstackKey = 'key'; 

exports.config = { 
    multiCapabilities: [ 
     { 
      'browserstack.user': browserstackUser, 
      'browserstack.key': browserstackKey, 
      'browserstack.local': 'true', 
      'browserstack.debug': 'true', 

      'browserName': 'Chrome', 
      'os': 'Windows', 
      'os_version': '8', 

      specs: [ 
       '*.spec.js' 
      ], 
      exclude: [ 
       'footer.disabledCookies.spec.js', 
       'footer.disabledFlash.spec.js' 
      ] 
     }, 

     { 
      'browserstack.user': browserstackUser, 
      'browserstack.key': browserstackKey, 
      'browserstack.local': 'true', 
      'browserstack.debug': 'true', 

      'browserName': 'Internet Explorer', 
      'browser_version': '9.0', 
      'os': 'Windows', 
      'os_version': '7', 
      'resolution': '1024x768', 

      specs: [ 
       '*.spec.js' 
      ], 
      exclude: [ 
       'footer.disabledCookies.spec.js', 
       'footer.disabledFlash.spec.js' 
      ] 
     } 
    ], 

    maxSessions: 2, 

    // Browserstack's selenium server address 
    seleniumAddress: 'http://hub.browserstack.com/wd/hub', 

    framework: 'jasmine', 

    allScriptsTimeout: 300000, 

    baseUrl: 'http://localhost:9001', 

    onPrepare: function() { 
     require('jasmine-reporters'); 
     var capsPromise = browser.getCapabilities(); 
     capsPromise.then(function (caps) { 
      var browserName = caps.caps_.browserName.toUpperCase(); 
      var browserVersion = caps.caps_.version; 
      var prePendStr = browserName + "-" + browserVersion + "-"; 
      jasmine.getEnv().addReporter(new 
       jasmine.JUnitXmlReporter("test-results", true, true, prePendStr)); 
     }); 
    }, 

    jasmineNodeOpts: { 
     showColors: true, 
     isVerbose: true, 
     includeStackTrace: true, 
     defaultTimeoutInterval: 3600000 
    } 
}; 

Обратите внимание на использование JUnitXmlReporter из jasmine-reporters, который передает результаты тестирования в файл в формате JUnit XML. Вы можете выполнить постпроцессию, чтобы показать результаты теста у дженкинсов.