Для Selenium мне нужно запустить сервер Java? - PullRequest
1 голос
/ 01 июня 2011
$pip install selenium
$sudo apt-get install firefox xvfb


from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox() 
browser.get("http://www.yahoo.com") 

Это то, что я имею до сих пор, для Selenium. Кажется, работает, за исключением того, что говорит "Error: no display specified"

Мой вопрос: нужно ли мне запускать сосуд с селеном? Кажется, не имеет значения, запускаю я это или нет ...

Ответы [ 2 ]

0 голосов
/ 04 февраля 2012

Нет, вам не нужно запускать сервер Selenium RC. Вместо этого вы также можете использовать метод Webdriver, предпочтительный метод для функционального тестирования, который, насколько я могу судить, является «прямым» управлением браузером.

Я думаю, что серверный метод "Selenium RC server" более полезен для нагрузочного тестирования или тестирования нескольких пользователей, особенно в контексте использования его с Selenium Grid.

0 голосов
/ 01 июня 2011

Сначала позвольте мне определить для вас режим клиента и режим сервера:

  • Режим клиента: где язык привязки подключаются к пульту пример. Это способ, которым FirefoxDriver и RemoteWebDriver клиент нормально работает.
  • Режим сервера: где языковые привязки ответственность за настройку сервер, на котором работает драйвер браузер может подключиться к. ChromeDriver работает следующим образом

В текущем транке все браузеры могут работать в режиме клиента, хотя вы должны указать путь ChromeDriver.exe. Режим сервера может быть использован для того же. Вы можете настроить jar для запуска в качестве сервера для конкретного браузера. Затем вы подключаетесь к этому серверу. Если вы сделаете это, вы увидите, что сервер Jetty настраивается и обрабатывает запросы. Если этого не происходит, значит, вы не используете режим сервера. Как я вижу из вашего кода, вы в настоящее время используете режим клиента, поэтому нет необходимости запускать jar, если вы не хотите использовать его дополнительную удаленную функциональность.

Запуск jar полезен, если вы хотите запустить тесты на удаленном компьютере, и в этом случае вы запускаете jar там, а затем подключаетесь к нему с локального компьютера. Затем jar будет заниматься запуском браузеров на компьютере, на котором он запущен, и переадресацией на него действий.

Я считаю, что в прошлом с Selenium RC API было необходимо всегда запускать jar, но с WebDriver это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...