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

Фотография

Как остановить selenium server из кода (java)


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

#1 hachapuri

hachapuri

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Сиробаба Александр Эдуардович

Отправлено 24 марта 2010 - 13:31

Привет. Возник такой вопрос, можно ли остановить запущеный селениум сервер из кода? Запускаю я его таким образом:

[codebox]Runtime.getRuntime().exec("java -jar c:\\selenium\\selenium-server.jar");[/codebox]


А как остановить не придумаю. Пробовал писать так, но в данном случае скрипт выполняется бесконечно долго:
[codebox]protected Selenium selenium;
Process p ;
@Before
public void setUp() throws IOException

{
p = Runtime.getRuntime().exec("java -jar c:\\selenium\\selenium-server.jar");
selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://whatsmyuseragent.com/");
selenium.start("");


}
@After
public void tearDown() {
selenium.stop();
p.destroy();
[/codebox]
Есть у кого еще варианты решений ?
  • 0

#2 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 24 марта 2010 - 15:23

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

Старт и остановку сервера я бы вынес за пределы тестов. Например, прикрутил бы к Ант-таске или батник какой-нибудь сделал.
  • 0

#3 hachapuri

hachapuri

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Сиробаба Александр Эдуардович

Отправлено 24 марта 2010 - 15:36

Задача состоит в том чтобы менять прокси. А для того чтобы его поменять, нужно запустить сервер с параметром -proxyInjectionMode и задать прокси. Для того чтобы его поменять нужно изменить параметы запуска сервера, т е перезапустить сервер. И это все в одном тест сьюте.
Батник тоже подойдет, только опять вопрос: Какой батник нужен чтобы остановить селениум сервер?
  • 0

#4 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 24 марта 2010 - 16:24

Задача состоит в том чтобы менять прокси. А для того чтобы его поменять, нужно запустить сервер с параметром -proxyInjectionMode и задать прокси. Для того чтобы его поменять нужно изменить параметы запуска сервера, т е перезапустить сервер. И это все в одном тест сьюте.
Батник тоже подойдет, только опять вопрос: Какой батник нужен чтобы остановить селениум сервер?

Из того, что приходилось видеть, это была утилита, которая искала определенный процесс и останавливала его.
  • 0

#5 barancev

barancev

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

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


Отправлено 24 марта 2010 - 18:30

Чтобы остановить сервер, надо отправить на него специальную команду: http://localhost:444...nSeleniumServer
Из Java-кода можно использовать любой подходящий HTTP-клиент, вплоть до того, который включён в стандартную библиотеку.
Из консоли (или батником) это можно сделать, используя какую-нибудь утилиту, способную отправлять HTTP-запросы, например wget или perl+libwww.
Можно использовать ant -- см. пример в официальной документации: http://wiki.openqa.o...ous Integration
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 hachapuri

hachapuri

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Сиробаба Александр Эдуардович

Отправлено 25 марта 2010 - 12:18

Пассибо, так и сделал. Добавил этот запрос для отсылке на сервер после завершения теста.
[codebox]
@After
public void tearDown() {
selenium.open("http://localhost:444...SeleniumServer");
selenium.stop();
}[/codebox]
Теперь при начале теста сервер запускается, а по окончанию - останавливается. :)
  • 0

#7 repon

repon

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

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Денис Михайлович
  • Город:Саратов


Отправлено 08 апреля 2010 - 07:57

привет
а можешь показать,Как запускаешь selenium server с проксиком?

это из батника не работает:
java -jar -Dhttp.proxyHost=194.220.117.253 -Dhttp.proxyPort=8088 -Dhttp.proxyUser=ххх -Dhttp.proxyPassword=111111 selenium-server.jar

из батника работает:
java -jar selenium-server.jar -firefoxProfileTemplate C:\firefox_profile

еще и просит подтвердить потом логин-пароль в ФФ...
  • 0

#8 hachapuri

hachapuri

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Сиробаба Александр Эдуардович

Отправлено 09 апреля 2010 - 13:46

Нада селениум сервер посмтавить вперед, и тогда должно работaть из батника
[codebox]@c:
@cd c:\selenium
@java -jar selenium-server.jar -Dhttp.proxyHost=194.220.117.253 -Dhttp.proxyPort=8088 -Dhttp.proxyUser=xxx -Dhttp.proxyPassword=111111[/codebox]
  • 0


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

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