Селен не облегчает понимание, что это такое QTP? Это любимый вариант среди программистов, но для новичков это серьёзное препятствие в тестировании.
Что такое селен? Что такое селен RC? Что такое Webdriver? Какова связь между RC и Webdriver? Какова связь между Webdriver и языками программирования? Может ли Selenium выполнять скрипты параллельно?
Здесь мастер насекомых просто говорит вам, что их сложные отношения сложны. Наладите отношения между ними, чтобы действительно их использовать.
Что такое селен?
Selenium — это набор инструментов для тестирования веб-автоматизации, включающий IDE, Grid, RC (селен 1.0), WebDriver (селен 2.0) и др. Selenium IDE — это плагин для браузера Firefox. Обеспечьте простые функции записи, редактирования и воспроизведения скриптов. Селеновая сетка используется для распределения тестовых шагов. В настоящее время он интегрирован в Selenium Server. RC и WebDriver следует рассматривать скорее как набор спецификаций, определяющих протоколы взаимодействия клиентских шагов с браузером. а также интерфейс для позиционирования и управления элементами.
Что такое WebDriver? Студентам, новичкам в автоматизированном тестировании на селен, нелегко понять, что такое API и как он связан с языками программирования.
http://www.w3.org/TR/2013/WD-webdriver-20130117/
Когда я впервые изучал Selenium (WebDriver), мне понадобилась неделя на перевод этого документа, но я не понял, что это такое. На самом деле, это базовая спецификация протокола. Например, API Webdriver говорит, что нам нужно предоставить метод поиска идентификаторов элементов страницы.
Как Webdriver организует и выполняет сценарии использования?
Извините, Webdriver — нет.
Организация методов (сценариев использования) для обработки этими элементами страницы и ввода результатов тестов осуществляется с помощью структуры модульного тестирования языка программирования. Например, фреймворки Junit и TestNG в Java, фреймворк модульного тестирования UnitTest на Python и т.д.
Какова связь между Selenium RC и WebDriver?
RC и WebDriver похожи тем, что их можно рассматривать как набор спецификаций для работы веб-страниц. Конечно, они работают иначе.
selenium RC запускает приложение Javascrip{filter}t в браузере, используя встроенный в браузер переводчик Javascrip{filter}t для перевода и выполнения селеновых команд (selenese — это набор команд selenium).
WebDriver управляет браузером напрямую через встроенную поддержку браузера или расширения браузера. WebDriver разработан для отдельных браузеров и заменяет Javascrip{filtering}t, встроенный в тестируемое веб-приложение. Тесная интеграция с браузерами позволяет создавать более продвинутые тесты, избегая ограничений, связанных с моделлю безопасности Javascrip{filtering}t. Помимо поддержки со стороны производителей браузеров, WebDriver также использует вызовы на уровне ОС для имитации ввода пользователя.
Похоже, Webdriver немного лучше. Для поддержания совместимости RC и вебдрайвер сосуществуют в селене 2.0, но селен 2.0 обычно относится к вебдрайверу.
Разница между параллельной и распределённой
Некоторых студентов интересует, как выполнять тестовые случаи параллельно, и параллелизм требует выполнения нескольких сценариев одновременно, что также реализовано благодаря многопоточной технологии языков программирования.
Разве Selenium Grid не способна к распределённому исполнению, спросите вы? Концепция распространения заключается в написании сценария использования, который можно выполнить на разных платформах, например, тестовый кейс на компьютере A, вы можете вызвать браузер Firefox компьютера B (linux) для запуска тестового кейса на компьютере A; Вы также можете вызвать браузер Chrome на компьютере C (Windows), чтобы запустить тестовый кейс на компьютере A. Это и есть концепция распределения.
|