Для Selenium мне нужно запустить сервер Java?

1
$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") 

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

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

Теги:
selenium
jar

2 ответа

0
Лучший ответ

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

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

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

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

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

  • 0
    Хорошо спасибо. Знаете ли вы, как я могу использовать Xvfb в моем текущем коде? В учебнике по Selenium говорится, что нужно начинать банку с DISPLAY .... так что это имеет смысл. Как мне использовать Xvfb в моем текущем коде?
  • 0
    Извините, я не пробовал Selenium с Xvfb. Собираюсь сделать это в ближайшее время.
0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню