WedX - журнал о программировании и компьютерных науках

Каковы преимущества использования WebDriver по сравнению с IDE?

Я новичок в Selenium и провел около недели, используя IDE. Все идет нормально. Тем не менее, некоторые другие части нашего приложения включают в себя широкие возможности перетаскивания, и я не очень уверен в этом... что подводит меня к моему вопросу... какие конкретные вещи может делать WebDriver, чего не может IDE? делать? Я прочитал первую страницу Selenium и знаю, что WebDriver может делать более «надежные» тесты, но мне не совсем понятно, что означает «надежность» в этом контексте? Дольше? Больше возможностей?

Я ищу, какой тип конкретных тестов можно запустить с помощью WebDriver, которые нельзя запустить в среде IDE? И связаны ли какие-либо из них с перетаскиванием? Это сообщит мне о моем решении о том, продолжать ли использовать IDE или переключиться. Я думаю, что лучше использовать что-то с самого начала, чем создавать много тестов, а затем переключаться.

Большое спасибо заранее.

29.09.2012

Ответы:


1

Вы можете использовать все возможности выбранного вами языка. Например, при использовании 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

2

IDE нельзя использовать для серьезной автоматизации. Я бы предпочел изучить API и использовать его с Java/C#/Python. Это поможет вам создать хорошую автоматизацию и очень хорошо окупится.

Вы всегда можете использовать IDE, чтобы узнать, как генерируется код.

02.10.2012
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]