2011-01-23 3 views
16

На Selenium download page есть ссылка на Selenium RC (Пульт дистанционного управления).В чем разница между Selenium Remote Control и Selenium Server?

На another Selenium download page, есть ссылки для Selenium RC 1.0.3, а также Селена 2 сервера, иногда называемым также Селена 2 Автономного сервером.

В чем разница между ними?

Если есть ограничения, каковы ограничения каждого из них?

Является ли Selenium Server заменяющим пульт дистанционного управления?

Связанные вопрос: selenium remote control vs webdriver

ответ

26

Вы должны взглянуть на documentation outlining the different parts of Selenium. Это хорошее место для начала, так как оно проведет вас через процесс настройки. Полное раскрытие, я помогу написать документы.

Что касается этих загрузок, первая ссылка у вас есть официальные релизы для проекта. Вторая ссылка - это текущие бета-версии, как только они попадут в 2.0, они будут на сайте.

  • Selenium Core - более компонент селена, чем только проект стенда. Не вдаваясь в историю проекта, Selenium был когда-то просто набором файлов .js, которые автоматизировали браузер. Никто не использует их напрямую, они просто существуют по наследству.
  • Selenium IDE - плагин firefox для записи/воспроизведения.Вы можете начать с этого, чтобы привыкнуть к api, но вы скоро перерастут.
  • Selenium RC, и когда вы его перерасти, вы будете использовать Selenium Remote Control. Selenium 1.x - это архитектура клиент-сервер. Вы используете библиотеки RC для программирования тестов, которые взаимодействуют с сервером, и сервер передает эти команды в браузер.
  • Selenium Grid - способ запуска тестирования селена на распределенной сети компьютеров. Хорошо для ускорения событий, когда у вас много тестов.
  • Кубический тест - инструмент, основанный на затмении, который использует селен для тестирования. Не уверен, насколько это популярно.
  • Bromine - веб-скрипт и инструмент для управления тестами. Использует селен RC для запуска тестов.

Затем мы добираемся до Selenium 2 beta. Selenium 2 является основным отходом от модели Selenium 1, поскольку он не требует сервер Selenium. Я говорю 'требует', потому что это необязательно для запуска тестов удаленно на другом компьютере. Selenium Server Standalone - это сервер, который вы будете использовать для этого. Он совместим с Selenium-RC, а также с Selenium 2 для удаленных целей.

Возможно, вы видели Selenium 2, называемый WebDriver. WebDriver был еще одним проектом, который был объединен пару лет назад и стал основой для Selenium 2. Вот почему Selenium 2 имеет интерфейс WebDriver, иногда называемый «WebDriver» api, чтобы отличать Selenium-RC.

Если вы только начинаете, я бы посмотрел на Selenium 2. Теперь он получает 99,9% от любви к разработчикам, а Selenium 1.x apis больше не продвинется. По состоянию на январь 2011 года библиотеки Java лучше всего поддерживаются, за ними следуют .NET и Python/Ruby. Watir (популярная библиотека автоматизации браузера Ruby) использует селен под капотом, если вы хотите другой вариант api.

+0

Большое вам спасибо за этот ответ! Я могу понять архитектуру клиент/сервер в Selenium 1 и 2. Однако вы сказали, что сервер является дополнительным в Selenium 2 ... Как он работает без такого сервера? Может дать быстрое объяснение? –

+1

Каждый браузер имеет специально созданный драйвер, который взаимодействует наиболее «естественным» способом. C++ для IE, плагин javascript для Firefox, applescript для Safari. Это означает, что медленнее поддерживать новые браузеры, но подходит намного лучше, чем Selenium 1. Библиотека Selenium 2 напрямую разговаривает с этим драйвером. Возможно, было бы нецелесообразно думать о Selenium 2 как о клиенте/сервере. Этот сервер должен выполнять только тесты с использованием RemoteDriver, который является более продвинутым. Вы должны обязательно взглянуть на документы для примеров Selenium 2 http://seleniumhq.org/docs/09_webdriver.html – pnewhook

+0

Ссылка в ответе и одна из ваших комментариев выше, как мертвы –

6

Документация по Selenium's website говорит о том, что пульт дистанционного управления состоит из

  • сервере
  • клиентские библиотеки

сервер отвечает за , выполняющий фактическую работу (выполнение действий в браузере), в то время как ваши спецификации для действий (управления исполнения) поступают из различных библиотек.

Это называется Пульт дистанционного управления, потому что сервер не нужно развертывать на том же компьютере, на котором выполняются фактические сценарии. Скрипты могут подключаться к удаленному серверу selenium по сети и выполнять действия.

Подводя итог, если вы используете Selenium Remote Control, вы используете сервер + клиентские библиотеки. Они предназначены для совместного использования.

Я не знаю, будет ли это одинаково для Selenium 2 или если они меняют ситуацию. Я уверен, что это так, как все работает для Selenium 1.

Смежные вопросы