Небольшая заметка о том, как запустить protractor тесты на разных браузерах используя сервис Browserstack.
Подробно о protractor можно почитать тут и тут.
Настройка конфига
Ключевые опции это capabilities и seleniumAddress:
[javascript]
  capabilities: {
    //эти параметры можно получить на странице – https://www.browserstack.com/automate
    ‘browserstack.user’ : ‘my_user_name’,
    ‘browserstack.key’ : ‘my_secret_key’,
‘browserstack.local’ : ‘true’,
    ‘browser’ : ‘Chrome’,
    ‘browser_version’ : ‘36.0’,
    ‘os’ : ‘OS X’,
    ‘os_version’ : ‘Mavericks’,
    ‘resolution’ : ‘1024×768’
  },
  seleniumAddress: ‘http://hub.browserstack.com/wd/hub’
[/javascript]
Более подробно о возможных параметрах тут.
Подробный лог (например: для отладки) можно включить следующей опцией:
[javascript]
  capabilities: {
      //…
      ‘browserstack.debug’ : ‘true’,
      //…
  },
[/javascript]
Настройка Browserstack для локального запуска
Достаточно скачать(тут) и запустить файл:
[bash]
./BrowserStackLocal my_secret_key localhost,3000,0
[/bash]
3000 – номер порта, на котором локально проект (только для случая локального тестирования)
Запуск протрактора
Тут ничего нового, так же команда с указанием конфиг-файла:
[bash]
protractor protractor-browserstack.config.js
[/bash]
UPD: Если вы тестируете реальный сайт (не локальное окружение), то BrowserStackLocal запускать не нужно. Но в любом случае его лучше иметь для локальной отладки.
UPD2: Если вы хотите использовать несколько браузеров (и запускать тесты параллельно) используйте опцию multiCapabilities вместо capabilities.
* Если что, автоматические тесты – это платная услуга, но ее можно попробовать бесплатно (на данный момент предоставляется 100 минут бесплатно)
