Перейти к содержимому

Фотография

Ошибка при запуске селениум сервера


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 14

#1 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 06 мая 2009 - 10:28

Подскажите изза чего при запуске селениум сервера C:\selenium-server-0.9.2>java -jar selenium-server.jar -interactive
фейлд?
11:31:01.796 INFO - Java: Sun Microsystems Inc. 11.3-b02
11:31:01.796 INFO - OS: Windows XP 5.1 x86
11:31:01.796 INFO - v0.9.2 [2006], with Core v0.8.3 [1879]
11:31:01.875 INFO - Version Jetty/5.1.x
11:31:01.875 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
11:31:01.875 INFO - Started HttpContext[/selenium-server,/selenium-server]
11:31:01.875 INFO - Started HttpContext[/,/]
11:31:01.890 WARN - Failed to start: SocketListener0@0.0.0.0:4444
Exception in thread "main" org.mortbay.util.MultiException[java.net.BindExceptio
n: Address already in use: JVM_Bind]
at org.mortbay.http.HttpServer.doStart(HttpServer.java:686)
at org.mortbay.util.Container.start(Container.java:72)
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:8
39)
at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:36
4)
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.mortbay.util.ThreadedServer.newServerSocket(ThreadedServer.java:3
91)
at org.mortbay.util.ThreadedServer.open(ThreadedServer.java:477)
at org.mortbay.util.ThreadedServer.start(ThreadedServer.java:503)
at org.mortbay.http.SocketListener.start(SocketListener.java:203)
at org.mortbay.http.HttpServer.doStart(HttpServer.java:716)
at org.mortbay.util.Container.start(Container.java:72)
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:8
39)
at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:36
4)
  • 0

#2 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 06 мая 2009 - 10:57

java.net.BindException: Address already in use: JVM_Bind

Собственно он сам всё написал - порт 4444 уже занят, надо либо освободить, либо использовать другой свободный порт.
  • 0

#3 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 06 мая 2009 - 10:59

если можно подробнее как всё это делается (освобождается либо используется другой свободный)
  • 0

#4 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 06 мая 2009 - 11:31

если можно подробнее как всё это делается (освобождается либо используется другой свободный)

Под виндой что-то типа "netstat", а под линухом "lsof | grep 4444", смотрим кто держит порт и прибиваем его, либо указываем RC'шке вешаться на другой порт, насколько помню, параметр -port
  • 0

#5 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 06 мая 2009 - 11:38

получилось. спасибо. порт был уже был занят процессом javaw.exe
  • 0

#6 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 06 мая 2009 - 13:35

Теперь возникают проблемы непосредственно с запуском самого теста.
На сколько я понимаю последовательность действий (используется PHPUnit + Selenium RC) в консоле запускается селениум сервер (java -jar selenium-server.jar -interactive) далее выполняется запуск тестсьюита (-htmlSuite *firefox http://test.com D:\work\login.php D:\work\res\result.php)
Но после такого мне пишет ERROR - Invalid command: -htmlSuite
Что я делаю не так?
  • 0

#7 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 06 мая 2009 - 13:59

-interactive означает, что все команды будут вводиться руками, а у тебя PHP-скрипт, надо запустить сам скрипт.
а htmlSuite - это тест на языке Selenese.
  • 0

#8 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 06 мая 2009 - 14:05

-interactive означает, что все команды будут вводиться руками, а у тебя PHP-скрипт, надо запустить сам скрипт.
а htmlSuite - это тест на языке Selenese.

то есть запуск моего скрипта должен идти непосредственно при запуске сервера? то есть сразу java -jar selenium-server.jar -htmlSuite *firefox http://test.com D:\work\login.php D:\work\res\result.php
  • 0

#9 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 06 мая 2009 - 14:07

Нет, вот так:
1. Запуск сервера RC.
2. Забываем про параметр -htmlSuite напрочь.
3. Запускаем PHP-скрипт интерпретатором PHP.
  • 0

#10 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 06 мая 2009 - 15:31

Нет, вот так:
1. Запуск сервера RC.
2. Забываем про параметр -htmlSuite напрочь.
3. Запускаем PHP-скрипт интерпретатором PHP.

ну запускаю я свой скрипт через php.exe D:\work\>php -f log.php
а как отследить как отработал скрипт и т д, как увидеть всё в браузере?
и раз забыть про -htmlSuite что же можно использовать?
  • 0

#11 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 06 мая 2009 - 15:45

ну запускаю я свой скрипт через php.exe D:\work\>php -f log.php
а как отследить как отработал скрипт и т д, как увидеть всё в браузере?
и раз забыть про -htmlSuite что же можно использовать?

Увидеть всё - это что? :) Как бегает браузер, тестируя странички? Если всё верно в PHP-тесте, то RC откроет новое окно браузера и в нём всё будет.
Вместо -htmlSuite ничего не надо использовать, PHP-тест сам должен инициализировать сессию и с ней работать, а -htmlSuite нужен только для тестов, написанных в Selenium IDE.
  • 0

#12 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 06 мая 2009 - 15:48

а в каком режиме при это должен быть запущен селениум сервер если не -interactive ?
И ещё вопросик, как я буду получать результат? прошла какая команда, какая не прошла и т д
  • 0

#13 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 06 мая 2009 - 16:07

а в каком режиме при это должен быть запущен селениум сервер если не -interactive ?
И ещё вопросик, как я буду получать результат? прошла какая команда, какая не прошла и т д

RC должен быть запущен в обычном режиме, конкретной команды для этого нет, просто не указывать -interactive и всё. Ещё я бы рекомендовал всегда использовать режим -multiWindow, так проблем меньше.

Результат возвращает драйвер Selenium'а, а то как его проверять зависит от фреймворка, например в JUnit что-то типа такого:
assertTrue("Text 'some text' is not present!", selenium.isTextPresent("some text"));

  • 0

#14 joika

joika

    Новый участник

  • Members
  • Pip
  • 72 сообщений

Отправлено 07 мая 2009 - 07:37

Спасибо vitorg!!!
ЗЫ получается вызов браузера должен осуществляться в самом пхп скрипте?
  • 0

#15 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 07 мая 2009 - 08:43

Спасибо vitorg!!!
ЗЫ получается вызов браузера должен осуществляться в самом пхп скрипте?

Почти. PHP-скрипт должен создать и инициализировать сессию к SeleniumRC (сказать ей selenium.start()), а уже SeleniumRC в зависимости от параметров запустит браузер.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных