Ответ 1
хорошо, попытался бы объяснить различия в деталях.
Говоря о параллельном тестировании, лучше использовать селеновую сетку.
Основная концепция селена RC и селеновой сетки.
Вы можете более подробно ознакомиться здесь
Несколько слов о selenium webDriver:
Основной новой функцией Selenium 2.0 является интеграция API WebDriver. WebDriver предназначен для обеспечения более простого и более сжатого интерфейса программирования наряду с устранением некоторых ограничений в Selenium-RC API. Selenium-WebDriver был разработан для лучшей поддержки динамических веб-страниц, где элементы страницы могут меняться без перезагрузки самой страницы. Цель WebDrivers - предоставить хорошо продуманный объектно-ориентированный API, который обеспечивает улучшенную поддержку современных проблем тестирования веб-приложений.
Как WebDriver "управляет браузером по сравнению с Selenium-RC?
Selenium-WebDriver совершает прямые вызовы в браузере, используя собственную поддержку для автоматизации на основе браузеров. Как выполняются эти прямые вызовы, а поддерживаемые функции зависят от используемого вами браузера. Информация о каждом "драйвере браузера" предоставляется далее в этой главе. Для тех, кто знаком с Selenium-RC, это сильно отличается от того, к чему вы привыкли. Selenium-RC работал одинаково для каждого поддерживаемого браузера. Он ввел функции javascript в браузер, когда браузер был загружен, а затем использовал свой javascript для управления AUT в браузере. WebDriver не использует эту технику. Опять же, он управляет браузером напрямую, используя браузеры, встроенные в поддержку автоматизации.
WebDriver и сервер Selenium
Вы можете или не нуждаетесь в Selenium Server, в зависимости от того, как вы собираетесь использовать Selenium-WebDriver. Если вы будете использовать только API WebDriver, вам не нужен Selenium-Server. Если ваш браузер и тесты будут работать на одном компьютере, а ваши тесты будут использовать только API WebDriver, вам не нужно запускать Selenium-Server; WebDriver будет запускать браузер напрямую. Однако есть несколько причин использовать Selenium-Server с Selenium-WebDriver.
- Вы используете Selenium-Grid для распространения тестов по нескольким машин или виртуальных машин (VM).
- Вы хотите подключиться к удаленному компьютеру с определенным браузером версии, которая не находится на вашем текущем компьютере.
- Вы не используете привязки Java (т.е. Python, С# или Ruby) и хотел бы использовать драйвер HtmlUnit
Драйверы Selenium-WebDrivers WebDriver - это имя ключевого интерфейса, на котором должны быть написаны тесты, но существует несколько реализаций. К ним относятся:
Драйвер HtmlUnit В настоящее время это самая быстрая и легкая реализация WebDriver. Как следует из названия, это основано на HtmlUnit. HtmlUnit - это Java-реализация WebBrowser без GUI. Для любого языкового связывания (кроме java) Selenium Server должен использовать этот драйвер.
Доводы
- Самая быстрая реализация WebDriver
- Чистое решение Java и поэтому оно независимо от платформы.
- Поддержка JavaScript
против
- Эмулирует поведение JavaScript других браузеров (см. ниже)
JavaScript в драйвере HtmlUnit Ни один из популярных браузеров использует механизм JavaScript, используемый HtmlUnit (Rhino). Если вы тестируете JavaScript с использованием HtmlUnit, результаты могут существенно отличаться от этих браузеров. Когда мы говорим "JavaScript", мы имеем в виду "JavaScript и DOM". Хотя DOM определяется W3C, каждый браузер имеет свои собственные особенности и различия в их реализации DOM и в том, как JavaScript взаимодействует с ним. HtmlUnit имеет впечатляюще полную реализацию DOM и имеет хорошую поддержку для использования JavaScript, но ничем не отличается от любого другого браузера: он имеет свои собственные особенности и отличия как от стандарта W3C, так и от реализаций DOM основных браузеров, несмотря на его способность имитировать другие браузеры. С WebDriver мы должны были сделать выбор; можем ли мы включить возможности JavaScript HtmlUnits и риск того, что команды столкнутся с проблемами, которые только проявляются там, или мы отключим JavaScript, зная, что все больше сайтов, которые полагаются на JavaScript? Мы приняли консервативный подход и по умолчанию отключили поддержку, когда используем HtmlUnit. С каждой версией WebDriver и HtmlUnit мы переоцениваем это решение: мы надеемся включить JavaScript по умолчанию в HtmlUnit в какой-то момент.
Чтобы исследовать глубже в webDriver setUp, см. this
Из Документация HtmlUnit: HtmlUnit не является общей схемой тестирования модулей. Это, в частности, способ имитации браузера для целей тестирования и предназначен для использования в других рамках тестирования, таких как JUnit или TestNG.
Итак, , чтобы заключить разницу Selenium и HtmlUnit: HtmlUnit - это реализация Java WebBrowser без GUI и способ имитации браузера для целей тестирования, а Selenium-WebDriver делает прямые вызовы в браузере, используя каждую поддержку для автоматизации браузеров. мы можем видеть, что HtmlUnit предоставляет API без возможности использования GUI для автоматизации, тогда как WebDriver предоставляет возможности внутренних браузеров для автоматизации.
Говоря о мобильной автоматизации, В Selenium также есть драйвер для iPhone статья о драйверах iPhone и Android Driver Страница wiki для драйверов Android
См. также эту презентацию
К сожалению, я не могу дать вам оценку моего опыта работы с мобильными драйверами, поскольку я занимаюсь веб-автоматизацией (без мобильных устройств). Также знайте, что Cucumber
(инструмент автоматизации) популярен среди мобильных автоматов.
см. и .
Надеюсь, теперь вам станет легче для вас. =)