Вы можете использовать все возможности выбранного вами языка. Например, при использовании IDE вы привязаны к использованию API IDE, однако, если вы решите явно использовать WebDriver, вы можете комбинировать его с C# и использовать все функции C# (например, LINQ).
Некоторые команды IDE не преобразуются напрямую с помощью WebDriver.
Вы можете интегрировать чистый тест WebDriver в сервер CI (непрерывной интеграции).
Это не ограничивается только Firefox, тогда как IDE (поскольку IDE доступна только в Firefox).
Вы можете легко улучшать и расширять Selenium. Например, используя методы расширения и наследование. (Например, расширение Selenium таким образом, что всякий раз, когда он не может найти элемент, он делает снимок экрана со страницей)
Это будет более надежно, так как IDE не всегда предоставит вам самый надежный способ поиска элемента. Например, если требуемый элемент вложен в таблицу, XPath, который предоставит вам среда IDE, будет непосредственно связан с определенными строками и ячейками таблицы.
Например что-то вроде этого:
//table[1]/tr[1]/td[2]/table[1]/tr[1]/td[3]/a[1]/b
Не самый надежный XPath в мире. Те, кто ничего не знает о XPath, автоматизированном тестировании или о том, как работает Selenium, будут придерживаться этого, а затем тратить часы на выяснение того, почему этот запрос XPath терпит неудачу. Другие изменят его и просто будут использовать XPath в качестве базового запроса.
IDE обычно следует использовать для тех, у кого нет особых знаний в области программирования (например, для некоторых тестировщиков). Если вы хотите, чтобы ваши разработчики и/или разработчики тестов использовали Selenium, перейдите непосредственно к WebDriver. Это будет больше похоже на программирование на полноценном языке, а не на скрипты (в конце концов, скрипты, которые генерирует IDE, представляют собой чисто HTML-файлы). Идея, как правило, заключается в том, чтобы те, у кого нет особых знаний в области программирования, просто нажали «играть» и позволили Selenium сделать всю работу.
Перетаскивание применимо в IDE и WebDriver.
Большая часть разработки в Selenium (кажется) идет на расширение кода WebDriver, IDE может быть оставлена позади в некоторых новых функциях.
Используя WebDriver напрямую, вы также можете использовать все функции среды модульного тестирования (обычно NUnit с C# или Junit/TestNG для Java). Это позволяет повторять тесты для каждого браузера (например, повторять тесты в Chrome, Firefox и IE) или определять определенную логику до и после тестов (например, добавлять пользователей, создавать пользователей, настраивать другие тестовые данные).
Коллеги-разработчики могут быть более склонны помочь, если он использует язык программирования, а не язык сценариев (например, WebDriver запрограммирован на языке программирования, сценарии IDE представляют собой просто файлы HTML). Внедрение его в свое решение и его использование в процессе ночной сборки помогает разработчикам помогать в продвижении ваших тестов.
Если подумать, другой пример: ошибка исправлена, но появляется новая ошибка, которая приводит к сбою теста. Кто несет ответственность за исправление теста? Вы или они? Поскольку он использует WebDriver напрямую, они могут просто просмотреть исходный код Selenium и самостоятельно выяснить, как используется API. В среде IDE это буквально файл HTML, который вызывает некоторый код javascipt. Не так много документации по нему.
Подводя итог: если у вас нет большого опыта программирования, либо изучите язык и используйте WebDriver напрямую, либо просто придерживайтесь IDE. Любой сделает работу.
29.09.2012