Я пытаюсь настроить jenkins для запуска моих испытаний транспортира. Я знаю, что мне нужно запустить транспортир без браузера. Как его настроить?Jenkins + WebDriver + Транспортир: вызвано: org.openqa.selenium.remote.UnreachableBrowserException: не удалось запустить новый сеанс
Какие пакеты npm необходимо установить? Мои фактические пакеты (в package.json):
"devDependencies": {
"karma": "~0.12",
"karma-phantomjs-launcher": "~0.2",
"karma-ng-html2js-preprocessor": "~0.1",
"protractor": "~2.1.0",
"bower": "~1.3.8",
"jasmine": "~2.3.1",
"karma-jasmine": "~0.3.5",
"karma-requirejs": "~0.2.2"
}
В моей локальной машине все отлично работает, потому что я вижу открытие хром окна, и я вижу, что тесты происходит на нем.
Но когда я пытаюсь запустить его на Дженкинса, я получил это сообщения:
вызвано следующими причинами: org.openqa.selenium.remote.UnreachableBrowserException: Не удалось запустить новый сеанс. Возможными причинами являются неверный адрес удаленного сервера или неудачный запуск браузера.
Информация о сборке: версия: '2.45.0', версия: '5017cb8', время: '2015-02-26 23:59:50', ip: '127.0.1.1', os.name: 'Linux' , os.arch: 'amd64', os.version: '3.13.0-24-generic', java.version: '1.8.0_25' Информация о драйвере: driver.version: ChromeDriver на org.openqa.selenium.remote .RemoteWebDriver.execute (RemoteWebDriver.java:593) на org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java:240) на org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:126) на org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:139) на org.openqa.selenium.chrome.ChromeDriver. (ChromeDriver.java:171) на org.openqa.selenium.chrome.ChromeDriver. (ChromeDriver.java:139) ... 14 еще
Вызвано: org.openqa.selenium.WebDriverException: Сроки ожидания запуска сервера драйверов.
Информация о сборке: версия: '2.45.0', версия: '5017cb8', время: '2015-02-26 23:59:50', ip: '127.0.1.1', os.name: 'Linux' , os.arch: 'amd64', os.version: '3.13.0-24-generic', java.version: '1.8.0_25' Информация о драйвере: driver.version: ChromeDriver на org.openqa.selenium.remote .service.DriverService.start (DriverService.java:171) на org.openqa.selenium.remote.service.DriverCommandExecutor.execute (DriverCommandExecutor.java:62) на org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver .java: 572) ... 19 еще
Вызвать: org.openqa.selenium.net.UrlChecker $ TimeoutException: Сроки ожидания [http://localhost:4945/status] будут доступны после 20001 м s
в org.openqa.selenium.net.UrlChecker.waitUntilAvailable (UrlChecker.java:104) в org.openqa.selenium.remote.service.DriverService.start (DriverService.java:168) ... 21 больше
Мои protractor.conf.js:
exports.config = {
// The address of a running selenium server.
seleniumAddress: 'http://localhost:4444/wd/hub',
// Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': ['incognito', 'disable-extensions', 'start-maximized', 'enable-crash-reporter-for-testing', '--test-type']
},
'loggingPrefs': {
'browser': 'ALL'
}
},
getPageTimeout: 20000,
framework: 'jasmine2',
// Spec patterns are relative to the current working directly when
// protractor is called.
specs: ['global_setup.js', 'scenarios.js', 'campaign-grid-scenarios.js', 'create-campaign-scenarios.js'],
baseUrl: 'http://localhost:18090',
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000
}
};
Что вызывает этот таймаут? Это потому, что webdriver - хром, но хром нельзя открыть в моей настройке jenkins? Я искал похожие вопросы, но ничего не нашел.
спасибо.
Я хочу запустить его на отдельном экземпляре Jenkins, и я знаю, что этот безголовый браузер, такой как phantomjs, является тем, что я ищу. Не могли бы вы более подробно рассказать о конфигурациях, которые мне нужно сделать, чтобы этот сценарий работал? Как вы сказали, я должен сказать, что мои тесты выполняются на фантомах. Это означает возможности. имя_файла: 'phantomjs'? Но перед этим мне нужно добавить 'phantomjs' в мой 'package.json', правильно? И что еще? Спасибо за ваше время, @nilesh. –
Правильно, просто скажите имя браузера: «phantomjs» и убедитесь, что PhantomJS установлен и находится на пути на сервере Jenkins. Не нужно ничего добавлять к package.json. Я обновил ответ – nilesh
Официальная документация Протранслятора рекомендует против использования phantomjs [см.] (Https://github.com/angular/protractor/blob/master/docs/browser-setup.md#setting-up-phantomjs). Каков ваш опыт @nilesh? Я должен беспокоиться? –