Селен: неверная ошибка "уже запущена" при запуске сервера

Я пытаюсь запустить сервер Selenium. Однако, когда я печатаю:

java -jar selenium-server-standalone-2.0b3.jar

Я получаю исключение:

Selenium уже запущен на порту 4444. Или какой-либо другой сервис.

Я попытался остановить его, на всякий случай он действительно работает:

http://localhost:4444/selenium-server/driver/?cmd=shutDown

Это получает сообщение:

Исключение сервера ERROR: sessionId не должно быть null; этот сеанс уже запущен?

Если я просто напишу:

http://localhost:4444/

Я получаю:

HTTP-ОШИБКА: 403
Запрещено для прокси-сервера

Идеи?

Ответ 1

Это сработало для меня:

http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer

Если сервер селена уже запущен на порту 4444, он выключит сервер и скажет: ЛАДНО ЛАДНО если селен не работает на этом порту 4444, то, ударив выше url, вы получите "Не удалось подключиться"

Ответ 2

попробуйте следующее:

lsof -i -n -P | grep 4444

и kill выполняется процесс: 4444

Ответ 3

Однострочник:

kill -9 $(lsof -ti tcp:4444)

Ответ 4

Сообщение об ошибке, появившееся в Selenium, немного запутанно. Это действительно должно сказать вам, что вы делаете синтаксическую ошибку. У меня тоже была эта проблема. Убедитесь, что строка cmd является ТОЧНО:

http://localhost:4444/selenium-server/driver/?cmd= shutDownSeleniumServer

Это означает использование полной команды shutDownSeleniumServer и , чтобы s в shut был в нижнем регистре (это была моя ошибка).

Надеюсь, что это поможет.

Ответ 5

Чтобы отключить сервер, вы можете использовать: http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer

Он выдает сообщение OKOK, означает, что он отключился. Если сервер не запущен, он покажет "Эта веб-страница недоступна"

Чтобы проверить статус сервера селена, используйте http://localhost:4444/selenium-server/driver/?cmd=getLogMessages

Он даст ОК, если сервер запущен, если он не запущен, он покажет, что веб-страница недоступна

Ответ 6

У меня была такая же ошибка, но сервер не работал. Исправлена ​​версия java. Убедитесь, что вы используете java 7 или выше:

java -version

Ответ 7

Если вы используете Windows, вы можете открыть диспетчер задач и найти файл java.exe или javaw.exe и убить его. Это освободит порт 4444, и вы сможете перезапустить сервер Selenium.

Ответ 8

У меня была такая же проблема, я начал свою Jboss AP, где у меня развернуто мое приложение, и после этого попытался запустить сервер selenium и не мог начать. Проблема заключалась в том, что Jboss использует тот же порт, что и сервер Selenium, поэтому я начал запускать сервер селена на другом порту

Решение: java -jar selenium-server-standalone-2.0b3.jar -port 1234 -htmlSuite "* firefox" "http://localhost: 8080/" "путь к набору" "путь к результатам"

Ответ 9

lsof не возвратил никаких результатов в моем случае.

На машине Ubuntu мне пришлось сделать следующее:

sudo netstat -tapen | grep ":4444 "

Ответить было похоже:

tcp6       0      0 XXXXXXXXX:4444       :::*                    LISTEN      107        31526       **10479**/java

И чтобы убить серверный процесс Selenium, идентифицированный (в моем случае) с помощью 10479

sudo kill 10479

Ответ 10

В OSX, если вы следуете команде из @HaloWebMaster (lsof -i -n -P | grep 4444), следующим шагом будет взять PID (обычно 4-5-значный номер, обозначающий идентификатор процесса) и выполнить следующую команду:

kill -9 <PID>

Вам не нужно sudo, если процесс не был запущен другим пользователем или root.

Ответ 11

Если вы получите ошибку 403 на 127.0.01: 4444, а не 404, что-то там работает. (Вы уверены, что это не может быть предыдущий экземпляр Selenium? Это было бы самым логичным.)

Иногда Selenium продолжает работать в фоновом режиме после неожиданного выхода. Я предлагаю проверить запущенные процессы или перезагрузить компьютер, если все остальное не удастся.

Это случается со мной часто, когда Хадсон просит Selenium-Server запускать некоторые тесты, и по некоторым причинам он терпит неудачу. Убивание процесса решает проблему.

Ответ 12

Это сообщение ERROR Server Exception: sessionId should not be null; has this session been started yet? поступает из Selenium. Если вы видите это, на этом номере порта работает сервер Selenium.

Ответ 13

Спасибо,

Ссылка Андре отлично подходит для меня.

Так как 4444 - это порт по умолчанию Selenium, проверьте это.

Ответ 14

Если вы запустили селен с помощью Java и хотите очистить любой процесс, начинайте с java, я бы рекомендовал сделать это:

pkill java

Это гарантировало уничтожение любых реликвий java (включая селен, если это началось таким образом), но будьте осторожны: предостережение в том, что вы можете убивать и другие procs (из-за того, как работает pkill). В моем случае я хочу убить все, что работает в JVM, поэтому это решило это для меня!

Ответ 15

Если все вышеперечисленное не работает, сохраните свою работу и перезагрузите систему. Это решит проблему.