В чем разница между дистанционным управлением Selenium VS Webdriver?
-
25-09-2019 - |
Вопрос
Я не уверен, что я совсем понимаю разницу. WebDriver API также напрямую контролирует браузер выбора. Когда вы должны использовать дистанционное управление Selenium (Selenium RC) вместо этого?
Прямо сейчас моя текущая ситуация - я проверяю веб-приложение, написав люкс с API селена Webdriver и позволить ему работать на моем компьютере. Испытания занимают больше времени и дольше для завершения, поэтому я искал способы запуска тестов на сервере Linux.
Если я использую дистанционное управление Selenium, это означает, что я должен переписать все, что я написал с API WebDriver?
Я запутался с селеной сеткой, Гудзоном, селеном RC. Я нашел плагин сетки Selenium для HUDSON, но не уверен, что включает в себя Selenium RC.
Я беру правильный маршрут? Я представляю следующую архитектуру:
- Хадсон работает на нескольких выделенных серверах Ubuntu.
- HUDSON работает с плагином XVNC & Selenium. (Мне нужно установить Firefox отдельно?)
- Селенская сетка работает тестовые апартаменты Selenium RC.
Я думаю, что это гораздо больше времени, чем запустить тест на моем текущем рабочем настольном компьютере с API WebDriver.
Решение
Насколько я понимаю, реализация Webdriver началась чуть позже, чем Selenium RC. С моей точки зрения, WebDriver является более гибким решением, что исправило некоторые раздражающие проблемы Seleniumrc.
WebDriver предоставляет стандартный интерфейс для тестирования веб-графического интерфейса. Существует несколько реализаций этого интерфейса (HTTP, BROWSER-SPEECTY и на основе Selenium). Так как у вас уже есть тесты WebDriver, вы должны быть знакомы с базовыми документами, такими как это
Испытания получают больше времени и дольше для завершения, поэтому я искал способы запуска тестов на сервере Linux.
Вы пытались найти фактические узкие места? Я не уверен, что устранение слоя Webdriver поможет. Я думаю, что в большинстве случаев потрачено в команды Selenium Commands, отправляющие и HTTP-запросы на систему недооценки.
Если я использую дистанционное управление Sleneium, это означает, что я должен переписать все, что я написал с WebDriver API?
Вообще, да. Если вы не реализовали дополнительный слой между тестами кода и WebDriver.
Что касается Selenium Grid: вы можете начать несколько экземпляров Selenium RC на нескольких различных [виртуальных] узлах, затем регистрируйте их в селениуме. Ваши тесты подключаются к селениуме, и он перенаправляет все команды для экземпляров Seleniumrc, координируя их в соответствии с необходимыми браузерами.
Для получения подробной информации о плагине Hudson вы можете найти больше информации здесь
Другие советы
Webdriver теперь селен 2. Основания кода селен и Webdriver объединяются. Webdriver получает в течение ряда проблем, которые Selenium и Selenium попадают в ряд вопросов, которые есть Webdriver.
Если вы написали тесты в Selenium One, вам не нужно переписать их работать с Selenium 2. Мы, основными разработчиками, написали его, чтобы создать экземпляр браузера и ввести, что в SELENIUM и тесты вашего селена 1 Работа в Selenium 2. Я поставил пример ниже для вас.
// You may use any WebDriver implementation. Firefox is used here as an example
WebDriver driver = new FirefoxDriver();
// A "base url", used by selenium to resolve relative URLs
String baseUrl = "http://www.google.com";
// Create the Selenium implementation
Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl);
// Perform actions with selenium
selenium.open("http://www.google.com");
selenium.type("name=q", "cheese");
selenium.click("name=btnG");
Selenium 2 К сожалению, не был помещен в селен 2, но он не должен быть слишком длинным, пока он не будет добавлен, поскольку мы надеемся добраться до бета в ближайшие пару месяцев.