Как Selenium RC взаимодействует с браузером - PullRequest
1 голос
/ 08 августа 2011

Как работает селен в браузере?Я знаю, что запросы селенового прокси к URL-адресам и при ответе внедряют в ответ ядро ​​selenium js api.но как «щелкнуть» или любая другая команда достигает браузера?Другими словами, как селен вызывает API ядра селена, введенный на странице браузера?

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Selenium рекомендует использовать WebDriver для замены функций дистанционного управления.TMK, старый код, вставлял Javascript в браузер и передавал через него.Код WebDriver использует собственный API для каждого браузера.

«Selenium-WebDriver выполняет прямые вызовы браузера, используя встроенную поддержку каждого браузера для автоматизации».через http://seleniumhq.org/docs/03_webdriver.html#selenium-2-0-features

1 голос
/ 09 августа 2011

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

  1. Тестовый сценарий вызывает Selenium.Click('SUBMIT').
  2. Клиент отправляет HTTP-запрос, который сообщает серверу « в следующий раз, когда браузер запрашивает, скажите емунажмите кнопку «ОТПРАВИТЬ»".
  3. Возможно, браузер уже получил запрос HTTP, ожидающий ответа, но если нет, он скоро будет получен.
  4. Когда браузер отправит свой запросHTTP-запрос, сервер отвечает «, нажмите кнопку« SUBMIT »».
  5. Браузер выполняет то, что ему говорят, и отправляет другой HTTP-запрос на сервер, указывая, что команда выполнена успешно.
  6. Сервер отвечает на существующий HTTP-запрос клиента ответом «ОК».
  7. Процедура Click() возвращается к сценарию.
...