Дженкинс не может запустить тесты на селен (истекло время ожидания создания профиля)
Дженкинс не может запустить тесты на селен (Ubuntu)
11:26:24.652 ИНФОРМАЦИЯ - Запущено org.openqa.jetty.jetty.Server@ab50cd 11:26:24.738 ИНФОРМАЦИЯ - Подготовка профиля Firefox... Обнаружено исключение из набора HTML: java.lang.RuntimeException: Превышено время ожидания ожидания профиля создан! at org.openqa.selenium.server..browserlaunchers.FirefoxChromeLauncher.launch(FirefoxChromeLauncher.java:83) при org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launchHTMLSuite(FirefoxChromeLauncher.java:405) в org.openqa.selenium.server.browserlaunchers.FirefoxLauncher.launchHTMLSuite(FirefoxLauncher.java:105) по адресу org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:121) по адресу org.openqa.selenium.server.htmlrunner.HTMLLauncher.riteHuncaher openqa.selenium.server.SeleniumServer.runHtmlSuite(SeleniumServer.java:556) в org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:241) в org.openqa.selenverSer. Джава: 201) в org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:40)
ОС - рабочая станция Ubuntu 11 Jenkins & Selenium - последние версии (установлены так, как написано на сайтах)
Мне кажется, что пользователь jenkins не обладает всеми правами, потому что, если я использую ту же строку для выполнения в терминале, он работает, а Selen запускает Firefox и выполняет набор.
Я также поместил пользователя jenkins в корневой каталог, но это также не помогло.
Я не квалифицирован в Linux, но, похоже, проблема в правах пользователя jenkins, но я могу ошибиться.
Если кто-то решил проблему, напишите решение.
3 ответа
У меня недавно тоже была эта проблема.
Сначала я попробовал метод, упомянутый здесь: http://www.spacevatican.org/2008/9/27/selenium-and-firefox-3 Однако это исправление теперь кажется устаревшим, так как все свойства maxVersion плагина были установлены на 8.что-то.
Я исправил это (как упоминалось здесь: http://www.centripetal.ca/blog/2011/02/07/getting-started-with-selenium-and-jenkins/), чтобы предоставить Selenium профиль Firefox.
меры
- Откройте менеджер профилей Firefox: $ firefox -ProfileManager
- Создайте новый профиль под названием Selenium
- Теперь, когда вы запускаете команду selenium, добавьте в команду "-firefoxProfileTemplate "/home/ndomusername‹/.mozilla/firefox/ndomprofile dir}". (Где {username} - ваше имя пользователя, а {profile dir} - профиль каталог, который для меня был "6f2um01h.Selenium"
Моя последняя команда Selenium была
$ sudo java -jar /var/lib/jenkins/tools/selenium/selenium-server.jar -htmlSuite *firefox http://google.com "/var/lib/jenkins/jobs/Selenium setup test/workspace/tests/test-testsuite.html" "/var/lib/jenkins/jobs/Selenium setup test/workspace/results/results.html" -log=/tmp/selenium.log -debug=true -firefoxProfileTemplate "/home/username/.mozilla/firefox/6f2um01h.Selenium"
Я бы также рекомендовал скопировать и вставить команду оболочки, которую jenkins использует в Terminal, чтобы избежать необходимости каждый раз запускать ее через Jenkins.
NB. В настоящее время я обнаружил, что Selenium теперь зависает (и не падает) на следующем этапе своего процесса (запуск Firefox), но это похоже на другую ошибку, которую я добавил здесь в stackru: Selenium зависает при запуске Firefox на Ubuntu
Решение @mattbilson у меня не сработало, но я нашел другое решение проблемы с теми же symtomps. Я считаю, что в процессе отладки проблемы было установлено несколько версий Firefox, и не все из чистых пакетов deb.
Чтобы решить проблему, я сделал:
sudo apt-get purge firefox
sudo mv /usr/lib/firefox /usr/lib/firefox.bak
sudo apt-get install firefox=<MY_FIREFOX_VERSION>
После этого я мог запустить Selenium JAR без каких-либо особых параметров.
У меня есть похожие проблемы. Но причина и решение разные.
Программа (я использую python) на некоторое время зависает, а затем выдает:
selenium.common.exceptions.WebDriverException: Сообщение: "Похоже, что браузер завершил работу, прежде чем мы смогли подключиться. Вывод был следующим: * LOG addons.xpi: запуск \n * LOG addons.xpi: checkForChanges \n*** LOG addons.xpi: открытие базы данных \n*** LOG addons.xpi: изменений не найдено \n Не удалось отправить dlopen /usr/lib/libX11.so.6\ndlerror говорит: /usr/lib/libX11.so.6: неправильный класс ELF: ELFCLASS32\n'
Это потому, что я установил 32- и 64-битную версию libX11. Удалив 32-битную версию libX11, программа работает.