Selenium использует JavaScript для автоматизации веб-страниц. Это позволило ему очень тесно взаимодействовать с веб-контентом и стало одним из первых средств автоматизации, поддерживающих Ajax и другие сильно динамичные страницы. Однако это также означает, что Selenium работает внутри песочницы JavaScript. Это означает, что вам нужно запустить сервер Selenium-RC, чтобы обойти политику того же источника, что иногда может вызвать проблемы с настройкой браузера.
WebDriver, с другой стороны, использует встроенную автоматизацию каждого языка. Хотя это означает, что для поддержки новых браузеров / языков требуется больше времени, но он действительно намного ближе к браузеру. Если вы довольны WebDriver, придерживайтесь его, это будущее. Есть ограничения и ошибки прямо сейчас, но если они не мешают вам, сделайте это.
Selenium Benefits over WebDriver
- Поддерживает множество браузеров и множество языков, WebDriver нужны собственные реализации для каждой новой комбинации языка / браузера.
- Очень зрелый и полный API
- В настоящее время (сентябрь 2010 г.) поддерживаются предупреждения JavaScript и улучшается
Benefits of WebDriver Compared to Selenium
- Встроенная автоматизация быстрее и чуть менее подвержена ошибкам и конфигурации браузера
- Для работы сервера Selenium-RC не требуется
- Доступ к headlessHTMLUnit позволяет проводить очень быстрые тесты
- Отличный API