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

Фотография

Ошибка при selenium.start()


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

#1 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 10 мая 2011 - 13:24

Подскажите, пожалуйста:

Пишу на яве + селениум rc.

Когда стартую селениум появляется следующий Exception:

Could not start Selenium session: Catch body broken: IOException from cmd=getNewBrowserSession&1=*firefoxproxy............= -> java.net.SocketException: Connection reset

Запускаю селениум в след- коде:

try {
SeleniumServerStart.startSeleniumServer(serverPort);

selenium = new DefaultSelenium(serverHost,
serverPort, browser, browserURL);
selenium.start():

System.out.println("Selenium started");

} catch (Exception e) {
e.printStackTrace();
}
  • 0

#2 vitorg

vitorg

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

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

Отправлено 10 мая 2011 - 16:15

Это значит, что нет связи с RC, скорее всего не запущен.
  • 0

#3 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 10 мая 2011 - 17:52

Извините, строку selenium.start() забыла написать, подправила. Selenium Server запускается на нужном порту без ошибок. С netstat видно, что порт занят. Программа валится именно на строчке selenium.start().
Через веб приложение запускаются тесты: на страничке можно выбрать тесты и запустить их. Приложение вместе с тестами деплоится на сервер (windows). И вот там появляется эта ошибка.
Если запускаю у себя локально - работает.
  • 0

#4 vitorg

vitorg

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

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

Отправлено 10 мая 2011 - 18:56

Windows Firewall и т.д. и т.п. Попробуйте соединиться telnet'ом на порт RC, да или вообще просто открыть его URL в браузере.
RC в логе пишет, что к нему присоединились? Нет. А значит по той или иной причине нет связи.
  • 0

#5 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 10 мая 2011 - 19:07

В качестве рабочей гипотезы -- возможно, селениум-сервер просто не успевает запуститься, а к нему уже идет запрос.
Поставьте задержку после запуска сервера. Либо делайте несколько попыток установления сессии с некоторой периодичностью, пока это не увенчается успехом (либо закончится количество попыток, вдруг сервер не стартовал по какой-то причине).
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 11 мая 2011 - 07:19

Если я захожу на порт с браузера - выдает след. сообщение:

HTTP ERROR: 403

Forbidden for Proxy

RequestURI=/

Powered by Jetty://

Помогите, пожалуйста, разобраться
  • 0

#7 enki86

enki86

    Постоянный участник

  • Members
  • PipPipPip
  • 231 сообщений


Отправлено 11 мая 2011 - 07:29

код полностью приведите хотя бы класса SeleniumServerStart
  • 0

#8 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 11 мая 2011 - 07:49

Если я захожу на порт с браузера - выдает след. сообщение:

А что Вы ожидаете там увидеть? Selenium server предоставляет удаленный API (REST), там нет "обычных" страничек.
Но если Вы видите эти сообщения, значит сервер работает, это уже хорошо :)

Вы попробовали добавить задержку между запуском сервера и попытками установить соединение с ним? Не помогло?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#9 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 11 мая 2011 - 07:53

код прикрепила

Прикрепленные файлы


  • 0

#10 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 11 мая 2011 - 08:00

код прикрепила


уже изменили) щас глянем, старое сообщение не актуально. стер
  • 0
Если ничего не помогает, прочтите наконец инструкцию!

#11 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 11 мая 2011 - 08:09

С задержками не помогло (((
я уже селениум сервер с коммандной строки на сервере запустила и не останавливаю его. В программе оставила только запуск selenium. start(). А ошибка все равно осталась.
  • 0

#12 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 11 мая 2011 - 08:13

У меня указанный код работает безо всяких задержек. Может браузер? Или неправильный параметры в DefaultSelenium(serverHost,serverPort, browser, browserURL); передаете.
  • 0
Если ничего не помогает, прочтите наконец инструкцию!

#13 enki86

enki86

    Постоянный участник

  • Members
  • PipPipPip
  • 231 сообщений


Отправлено 11 мая 2011 - 08:14

1) попробуйте закомменить строку
rcc.setAvoidProxy(true);
2) rcc.setPort(port); где порт int (!)
у вас port - объект Integer
попробуйте port.intValue()
  • 0

#14 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 11 мая 2011 - 08:16

я уже селениум сервер с коммандной строки на сервере запустила и не останавливаю его. В программе оставила только запуск selenium. start(). А ошибка все равно осталась.

Значит клиент таки не может соединиться с сервером. Браузером Вы можете соединиться с jetty с другой машины или с той же самой? Надо проверить с той же. Если на ней нет браузера, попробуйте telnet на тот порт, где работает селениум-сервер, и выполните команду GET / , должна появиться аналогичная ошибка 403. Если это сработает -- значит, клиент пытается коннектиться куда-то не туда. Если telnet не сработает -- вероятно, проблемы с сетевыми настройками (возможно, форвардинг портов).
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#15 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

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


я уже селениум сервер с коммандной строки на сервере запустила и не останавливаю его. В программе оставила только запуск selenium. start(). А ошибка все равно осталась.

Значит клиент таки не может соединиться с сервером. Браузером Вы можете соединиться с jetty с другой машины или с той же самой? Надо проверить с той же. Если на ней нет браузера, попробуйте telnet на тот порт, где работает селениум-сервер, и выполните команду GET / , должна появиться аналогичная ошибка 403. Если это сработает -- значит, клиент пытается коннектиться куда-то не туда. Если telnet не сработает -- вероятно, проблемы с сетевыми настройками (возможно, форвардинг портов).

браузером могу соединиться и со своего компа и с сервера. selenium server работает.
  • 0

#16 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 11 мая 2011 - 08:41

Ну чо, непонятно :)
Берите tcpdump или wireshark и смотрите трафик -- куда селениум-клиент отправляет запросы и почему они не попадают в селениум-сервер :)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#17 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 11 мая 2011 - 09:18

Ну чо, непонятно :)
Берите tcpdump или wireshark и смотрите трафик -- куда селениум-клиент отправляет запросы и почему они не попадают в селениум-сервер :)

Попробую.
Спасибо
  • 0

#18 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 11 мая 2011 - 09:19

Спасибо за советы.
если есть еще какие-нибудь идеи - буду рада.
  • 0

#19 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

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

1) попробуйте закомменить строку
rcc.setAvoidProxy(true);
2) rcc.setPort(port); где порт int (!)
у вас port - объект Integer
попробуйте port.intValue()

не помогло (
  • 0

#20 Helenka

Helenka

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Elena

Отправлено 11 мая 2011 - 11:16

сказали, почему не работает:
Jetty используется также в My Web Methods Server, там где деплоится веб страница.
Вот они и мешают друг другу, т.к возможно используют одну Jetty.
Придется запускать Selenium server из командной строки.
Ведь можно как-то из явы вызывать batch-файл? Может знаете, или делали уже такое.
Поищу в гугле.
надеюсь получится...
  • 0


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

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