2014-11-21 2 views
5

Я хотел бы добавить к нашему процессу сборки CI несколько тестов e2e. Я уже добавил их против chrome + firefox (как самые простые). Но я действительно хочу сделать это для нескольких версий IE. Как можно внедрить его в процесс сборки на linux/mac?Internet Explorer Selenium protractor e2e tests

Я нашел такую ​​статью: http://elgalu.github.io/2014/run-protractor-against-internet-explorer-vm/

Но похоже, что это не 100% то, что мне нужно. Может ли кто-нибудь предоставить простой образец конфигурации?

ответ

3

Вам понадобится selenium server, либо самостоятельно, либо по адресу browserstack/SauceLabs. Если вы планируете сделать это самостоятельно, одним словом, вам нужно будет установить сетку селена и зарегистрировать узлы, один из узлов должен быть машиной Windows, где вы будете запускать тесты против IE.

Лично я успешно выполнял тесты protractor e2e на нескольких браузерах, включая разные версии Chrome, Firefox и IE на браузере. Вот конфигурация я использую (он также включает в себя jasmine junit reporter, это было нужно для CI):

'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', 
      'resolution': '1024x768', 

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

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

      'browser': 'Internet Explorer', 
      'browser_version': '8.0', 
      'os': 'Windows', 
      'os_version': '7', 
      'resolution': '1024x768', 

      specs: [ 
       '*.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' 
      ] 
     } 
    ], 

    // 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 
    } 
}; 
+0

niceeee, я действительно не думал о browserstack ... У нас уже есть аккаунт здесь на самом деле, но в течение некоторого ручного тестирования целей, он мог бы действительно работать. Я надеюсь, что автоматизировать автоматизацию подписки будет достаточно для 5 версий браузера ... он говорит, что 2 параллельных теста –

+0

@ user2174981 Да, я думаю, что мы используем самый дешевый план там с двумя параллельными тестами, для нас это достаточно, но у нас есть автоматические тесты там только для одного внутреннего проекта, мы будем использовать bs более широко - увидим, будет ли это достаточно. Рад, что это помогло, счастливое тестирование. – alecxe

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