Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Вебинар: Основы использования паттерна Page Object вместе с Selenium WebDriver

Я пиарюсь
Это пятый вебинар из цикла бесплатных вебинаров по автоматизации тестирования.
Видеозапись (продолжительность 1 час 5 мин.):

Темы и детали видеозаписи под катом
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 13K
Комментарии 2

Page Object Model + Webdriver. Пример реализации на одном тесте

Тестирование IT-систем *
Из песочницы
Решил написать эту статью, т.к. считаю данный подход наиболее эффективным для организации структуры проекта по автоматизации тестирования.
К сожалению не работал с другими инструментами по автоматизации кроме Webdriver или Selenium. Но, не смотря на это, мне кажется, что данный подход может быть использован и с другими инструментами.

Примеры кода будут на C# + NUnit.



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

Почему же он так эффективен?



Наверное потому, что он вносит этот бесценный порядок в структуру проекта. Следуя принципам этого подхода, мы создаем структуру с четко разграниченными логическими модулями. А каждый такой модуль будет являться отражением логических модулей тестируемого приложения.
Это значительно облегчает поиск и переиспользование методов и, как следствие, облегчает обслуживание проекта. Также, в значительной мере сокращает время, необходимое новому участнику, для «вливания» в проект.
Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 30K
Комментарии 2

Тестирование в Яндексе. Фреймворк HTML Elements: чего не хватает в Page Object, и как это исправить

Блог компании Яндекс Разработка веб-сайтов *Тестирование IT-систем *
Если вы занимаетесь тестированием веб-интерфесов, то наверняка задумывались о том, как сделать взаимодействие с веб-страницами в тестах максимально удобным. Среди тестировщиков очень широко известен шаблон проектирования Page Object. Но, несмотря на множество плюсов, у этого подхода есть и некоторые недостатки, которые сильно затрудняют его применение.

Наиболее существенные из них:
  • невозможность повторного использования кода page-объектов для страниц с одинаковыми элементами;
  • плохая читаемость и отсутствие наглядности кода для страниц с большим количеством элементов;
  • отсутствие типизации элементов.

Из этого поста вы узнаете, как мы в Яндексе решаем эти проблемы с помощью фреймворка с открытым исходным кодом HTML Elements. Он расширяет концепцию шаблона Page Object и позволяет сделать взаимодействие с элементами на веб-страницах простым, гибким и удобным.

Мы не будем останавливаться на описании самого паттерна и его принципов, поскольку большинству из вас он наверняка хорошо знаком. Если же кто-то с ним не встречался, то узнать о нём можно из этого поста или мастер-класса. Также, говоря о применении паттерна Page Object, мы будем подразумевать его Java-реализацию в фреймворке Selenium WebDriver.

Повторное использование кода


Представьте, что вам понадобилось написать тесты не на какую-то отдельную страницу, а на весь веб-сервис. На его страницах наверняка будут встречаться общие блоки элементов: хедеры, футеры, возможно, какие-то одинаковые формы и т.д. Например, на главной странице Яндекса есть форма поиска, которая сохраняется и при переходе на страницу с поисковой выдачей.

image
Читать дальше →
Всего голосов 48: ↑40 и ↓8 +32
Просмотры 37K
Комментарии 10

SWD Page Recorder: Записывает PageObject-классы для Selenium WebDriver

Тестирование IT-систем *
Уверен, что бывалые автоматизаторы из мира веб-тестирования на Selenium WebDriver, уже успели попробовать на вкус все достоинства использования паттерна PageObject в своем ремесле. Да, это и сокращение времени на обслуживание кода автоматизации, и более читабельный простой и надежный код. К сожалению, всё еще тратится слишком много рутинных усилий на создание новых PageObject-классов и поддержку существующих.

К счастью, есть инструменты, которые помогут сократить этот рутинный «ручной труд» автоматизатора.
SWD Page Recorder – это попытка создать один из таких инструментов.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 16K
Комментарии 10

Автоматизированное тестирование — это просто! Как я тестировал Печкина

Тестирование IT-систем *
Из песочницы
Не так давно стал посматривать в сторону Selenium WebDriver, который в связке с PageObject становится прекрасным инструментом для автоматизированного тестирования. Те, кто не знаком с Selenuim, могут ознакомиться в этой статье, а здесь можно прочесть конкретно про Selenium WebDriver.

При написании этой статьи были использованы:
  1. Maven
  2. TestNG
  3. Selenium WebDriver
  4. PageObject
  5. Подопытный кролик: pechkin-mail.ru

Подробнее
Всего голосов 16: ↑13 и ↓3 +10
Просмотры 94K
Комментарии 19

UI-тесты в iOS проекте. Есть ли профит и для чего их вообще внедряют

Блог компании Конференции Олега Бунина (Онтико) Разработка под iOS *Интерфейсы *Тестирование мобильных приложений *
Людей, которые не просто хотя бы раз писали UI-тесты, а делали бы это в коммерческих проектах, довольно мало, потому что эту часть разработки очень сложно продать заказчику и аргументировать менеджеру, зачем они нужны и почему занимают столько времени. Новосибирская компания Improve Digital решилась на этот шаг по ряду причин, в частности из-за того, что разрабатываемый проект долгосрочный и с большим потенциалом дальнейшего развития.

Далее расшифровка выступления Михаила Домрачева на AppsConf 2017, в ходе которого он рассказал, как на практике внедрить UI-тесты в iOS проектах, и поделился мыслями, когда это действительно необходимо, а когда — излишне.

Забегая вперед, отметим, что тут есть и плюсы, и минусы. Но, на наш взгляд, существенное уменьшение количества дизайн-багов без огромных трудозатрат ручного тестирования — неоспоримое преимущество, которое любого должно примерить с небольшими возникающими трудностями.


Всего голосов 35: ↑33 и ↓2 +31
Просмотры 16K
Комментарии 3

Автоматизируем UI-тесты Android приложения с использование паттерна Page Object

Разработка под Android *Тестирование мобильных приложений *
image

Паттерн Page Object появился в тестировании web и очень хорошо себя там зарекомендовал. Когда я начал автоматизировать тесты для android приложения, то первым делом подумал про него. Поискал информацию в сети, поспрашивал коллег и, в принципе, не нашел доводов не попробовать. Предлагаю посмотреть, что из этого вышло.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 12K
Комментарии 23

Автоматизация с Codeception + Gherkin + PageObject для самых маленьких

PHP *TDD *Тестирование веб-сервисов *
Из песочницы
Tutorial

Не найдя в интернете ни одного конкретного примера реализации Gherkin с паттерном проектирования Page Object для Codeception, подумалось, что будет не лишним рассказать интернету о собственной реализации этого паттерна.

Эта статья рассчитана скорее на тех, кто уже немного знаком с Codeception или похожими фреймворками, но ещё не знает, как при помощи Page Object сделать тесты более читаемыми, упростить их поддержку и сократить объемы лишнего кода. Тем не менее, я постаралась пошагово изложить все основные моменты сборки проекта автоматизации с нуля.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 7.7K
Комментарии 13

Domain Object with Lombok: Боевая классика

Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *
Domain Object (рус. «Доменный объект») — один из наиболее популярных подходов к использованию тестовых данных непосредственно в логике скриптов. На данный момент является одним из самых популярных и распространенных approach'ей, благодаря своей простоте, понятности и логичности.

Применим во всех видах автоматизации функционального тестирования (End-to-End, API, Integration), в независимости от проверяемой платформы, будь то Web, Mobile, или Desktop.
ВАЖНО: не стоит путать Domain Object с Data Transfer Object (DTO). Это абсолютно разные подходы, которые применяются в разных сферах.
В чем его суть?

Читать дальше →
Всего голосов 12: ↑6 и ↓6 0
Просмотры 2.4K
Комментарии 4

Тестирование пользовательского функционала вебсайта с помощью Capybara page objects

TDD *Тестирование веб-сервисов *
Из песочницы
Page Objects могут быть использованы как мощный метод абстракции (изоляции) ваших тестов от технической реализации. Важно помнить, их (Page Objects) можно использовать для увеличения стабильности тестов и поддержания принципа DRY (do not repeat yourself) — посредством инкапсуляции функционала (вебсайта) в простых методах.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 3.4K
Комментарии 0

Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object

Java *Тестирование веб-сервисов *
Из песочницы
Tutorial

В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам.


Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представления о языке Java: классы, методы, etc.


Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 70K
Комментарии 14

Оля, тесты и фабрика — путь к красивой архитектуре и чистоте кода

Блог компании HeadHunter Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *
🔥 Технотекст 2020
В автоматизации тестирования существует много разных подходов, решений и способов. Самый распространенный и незаменимый —  паттерн Page Object (Screen Object). Я столкнулась с двумя подходами при работе с этим паттерном: c фабрикой для своих page object-ов и без нее. В этой статье на примере наших автотестов сравним оба подхода, их плюсы и минусы. Покажу, как выглядит наша фабрика page object-ов. Также расскажу о проблемах, с которыми мы столкнулись в автотестах с фабрикой и как их решили.

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

Всего голосов 15: ↑15 и ↓0 +15
Просмотры 6.9K
Комментарии 11

Перестаньте использовать Page Objects (РО) и начните использовать App Actions

Блог компании OTUS Тестирование IT-систем *JavaScript *
Перевод

Написание поддерживаемых сквозных тестов — это сложная задача. Часто тестировщики создают косвенный слой веб-страницы, называемый page objects, для выполнения общих действий. В этой статье я утверждаю, что page objects — это плохая практика, и предлагаю непосредственно обратить внимание на внутренний алгоритм работы приложения. Это отлично работает с современным test runner Cypress.io, который запускает тестовый код непосредственно вместе с кодом приложения.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 6.5K
Комментарии 4

Краткое сравнение JUnit и TestNG

Блог компании OTUS Тестирование IT-систем *Java *
Перевод

JUnit и TestNG, несомненно, являются двумя наиболее популярными фреймворками для модульного тестирования (юнит-тестирования) в экосистеме Java. Хотя JUnit послужил вдохновением для TestNG, второй имеет ряд отличий и, в отличие от JUnit, работает для функционального и более высоких уровней тестирования.

В этой статье мы обсудим и сравним эти фреймворки, рассмотрев их функции и распространенные варианты использования.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 6.7K
Комментарии 6