2015-07-02 4 views
2

Я хочу построить Testsuite для углового приложения. Testuite должен использовать структуру «Транспортир». Когда я запускаю локальный testuite с protractor local.config.js, тогда тест выполняется успешно. Когда я запускаю testuite с BrowserStack без прокси, также все в порядке.Угловой транспортир с BrowserStack за прокси

Теперь мой вопрос:

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

Главной BrowserStack:

var 
    proxy = 'http://proxy.example.com:8888'; 

exports.config = { 
    capabilities: { 
    project: 'BrowserStack (beyond Proxy)', 
    proxy: { 
     proxyType: 'manual', 
     httpProxy: proxy, 
     sslProxy: proxy, 
     }, 
    loggingPrefs: { 
     driver: "FINE", 
     server: "OFF", 
     browser: "FINE" 
    }, 

    'browserstack.user': 'USER_KEY', 
    'browserstack.key': 'ACCESS_KEY', // show on BrowserStack 

    // Needed for testing localhost 
    'browserstack.local' : 'true', 

    // Settings for the browser you want to test 
    // (check docs for difference between `browser` and `browserName` 
    'browserName' : 'chrome', 
    'version' : '43.0', 
    'os' : 'OS X', 
    'os_version' : 'Yosemite', 
    'resolution' : '1024x768' 
    }, 
    seleniumAddress: 'http://hub.browserstack.com/wd/hub', 
    specs: [ 
    'test/e2e/**/*.spec.js' 
    ] 
}; 

Я называю сценарий "BrowserStackLocal" с этими параметрами:

./BrowserStackLocal -v -proxyHost PROXY_DOMAIN -proxyPort PROXY_PORT $ACCESS_KEY localhost,$PORT,0 

Stepts:

  1. запустить приложение на локальном компьютере node app.js
  2. начало сценарий «BrowserStackLocal»
  3. Запустите транспортир с конфигурацией браузера сверху.
+0

Я обнаружил, что я могу получить доступ из стека браузера «Live» в моем приложении, которое выполняется локально. Теперь, похоже, проблема в том, что Protractor не работает через прокси. Как настроить Protractor так, чтобы он мог работать за прокси? – Mulder3

+0

Вы решили? – Juri

ответ

1

Когда вы находитесь за прокси-сервером, вам нужно сделать две вещи:

  1. Если вы тестируете локальный сервер, вам нужно настроить подключение локального тестирования, передавая детали прокси-сервера, который я предполагаю, что вы делаете.

  2. Вы должны убедиться, что запросы Selenium, сделанные через Protractor, также достигают BrowserStack. Самый простой вариант - использовать пакет npm. Если ваш прокси-сервер находится за аутентификацией, вы можете попробовать использовать модуль npm tunnel.

+0

Такая же проблема здесь. У вас есть пример конфигурации транспортира, который использует глобальный туннель? – Juri

1

Вам больше не нужно использовать глобальный туннель. Теперь появилась новая опция конфигурации webDriverProxy:

exports.config = { 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    webDriverProxy: 'http://127.0.0.1:8888', 
    capabilities: { 
    browserName: 'chrome' 
    }, 
    specs: ['*.spec.js'], 
};