Рубрика «automation testing» - 3

Привет! Я тут взялся за изучение Appium. В числе прочего, попалась мне книжка Appium Essentials:

image

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

Местами, в книге будут комментарии от меня [вот в таких скобках]. Они будут небольшие, просто для уточнения контекста, где необходимо. И еще одно: иногда, редко, буду пропускать какие-то совсем уж очевидные вещи из разряда как прописать JAVA_HOME. Пропущенные куски буду обозначать.

А в целом, с удовольствием принимаю указания на неточности перевода (с потерей смысла).
Надеюсь, перевод будет полезен. Поехали!
Читать полностью »

Доставляем себе в офис чашку горячего кофе одной командой консоли с помощью TestCafe - 1

Друзья, сегодня я расскажу вам историю о том, как просто и изящно решить проблему еnd-to-еnd тестирования web-сервиса доставки кофе с помощью нового open source тестового фреймворка. Мы проведем проверку не только работы сайта, но и менеджеров и даже службы доставки, к тому же потратим на это минимум усилий и времени. А в качестве бонуса за приложенные усилия получим кружечку горячего кофе прямо в руки. Всех любителей приключений прошу под кат…

Читать полностью »

Функциональное тестирование современных web-приложений - 1

Современные web-приложения зачастую содержат множество "движущихся частей" и сторонних зависимостей. В процессе рефакторинга и добавления/изменения функциональности в таком приложении может произойти поломка существующих use-case сценариев и нестабильная работа в определенных браузерах.

Для своевременного обнаружения таких ситуаций и выполнения непрерывной интеграции необходимо функциональное тестирование web-приложения. В статье пойдет речь о двух бесплатных open-source решениях:

Как мы тестируем взаимодействие с Facebook - 1

Вступление

Привет, хаброжитель! Уже довольно давно я хотел написать статью о том, как у нас в Badoo устроена автоматизация тестирования. Хотелось написать о чем-то интересном и, в то же время, полезном. Поделиться опытом, который можно было бы легко интегрировать почти в любую систему. И вот, такая тема назрела…

Как многие из вас знают, Badoo — это социальная сеть, ориентированная на поиск новых друзей и знакомств. Одной из важнейших задач является верификация пользователя. Ведь всем нам хочется, чтобы привлекательная девушка, с которой у нас назначена встреча, не оказалась дядей Колей из Твери.

Для верификации пользователей у нас существует много различных способов. Некоторые из них довольно привычные, такие, как верификация по номеру телефона. Есть и более необычный — верификация по фотографии. Но самая простая и быстрая — верификация через социальные сети.

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

Сегодня я расскажу о том, как на Badoo устроена регистрация и верификация через Facebook и о том, как мы научили selenium-тесты ее проверять.

Читать полностью »

Элементы функционального программирования появились в Java сравнительно недавно, но приобретает все большую популярность. Особенно в части stream API – наверное нет Java разработчика, который бы не слышал/читал/применял этот API для работы с коллекциями. К сожалению, большинство и не идет дальше использования Stream API, тогда как функциональный подход позволяет значительно упростить жизнь разработчикам автотестов. Ниже я расскажу про два примера такого упрощения – словари проверок и специализированные матчеры

Читать полностью »

Вступ

Рассмотрим интегрирование тестов Selenium IDE в процесс непрерывной интеграции с помощью TeamCity. В многих местах встречал когда QA создает тести ( в лучшем случае, зачастую бывает когда кликери просто по документу «прокликивают» проект и делает отчеты ) и регулярно запускают их, и как правило все это происходит локально на его же компьютере. Как на меня абсолютно не системный подход, который (сейчас то, в 2014 году ) решается миллионом решений для полной автоматизации процесса.
Ну раз Continuous Integration такая популярная практика, почему же не внедрить функциональное тестирование в процесс непрерывной интеграции, облегчить жизнь тестировщикам и поднять уровень качества продукта в целом.

Что надо и чего хотим

Что есть?

  • CI сервер (TeamCity) для сборки и деплоймента проектов
  • QA с пачкой тестов созданных в Selenium IDE
  • Энтузиазм

Что надо?

  • Добавить в процесс непрерывной интеграции исполнение Selenium IDE тестов

Как установить, настроить и сделать первые билд конфигурации на просторах больше чем надо, потому описывать не буду, да и речь не об этом.
Прошу под кат.
Читать полностью »

Сегодня вновь очень активно развивается тема автоматизации тестирования безопасности веб-приложений с использованием PhantomJS в связке с BurpSuite, ModSecurity, Garmr и т.д. Я не стал исключением, о своём опыте разработки относительно рабочего прототипа сканера с поддержкой Javascript, Ajax и DomMutation я бы и хотел с вами поделится. Может это поможет кому-то разработать собственное решение, которое будет гораздо лучше. Всех заинтересованных прошу под кат:-)
Читать полностью »

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

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

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

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

Наверное потому, что он вносит этот бесценный порядок в структуру проекта. Следуя принципам этого подхода, мы создаем структуру с четко разграниченными логическими модулями. А каждый такой модуль будет являться отражением логических модулей тестируемого приложения.
Это значительно облегчает поиск и переиспользование методов и, как следствие, облегчает обслуживание проекта. Также, в значительной мере сокращает время, необходимое новому участнику, для «вливания» в проект.
Читать полностью »

Тестирование
Часть 1

Второе поколение фреймворков

Это поколение является промежуточным уровнем фреймворков автоматизированного тестирования, среди них могут быть и достаточно простые фреймворки, а могут быть и достаточно хорошо спроектированные. Подобные фреймворки должны рассматриваться в случае, когда поддержка автотестов является важным фактором. Хорошее понимание этого поколения фреймворков является важным, так как на концепциях фреймворков этого уровня основываются фреймворки третьего поколения.
К фреймворкам второго поколения относятся фреймворки ориентированные на данных и фреймворки использующие функциональную декомпозицию. Большинство фреймворков этого уровня являются гибридами и используют оба подхода, но так как возможно использование только одного из них, то эти подходы будут рассмотрены независимо друг от друга.
Читать полностью »

Автоматизированное тестирование
Автоматизированное тестирование (АТ) наиболее эффективно, когда реализовано с помощью фреймворка. Несмотря на то, что в АТ термин фреймворк зачастую используется для описания совокупности объектов, которая формирует инструмент модульного тестированиия, эта статья будет в основном сфокусирована на фреймворках другого рода. Мы обсудим типы фреймворков, которые могут быть определены как совокупность абстрактных понятий, процессов, процедур и сред, с помощью которой автоматические тесты проектируются, создаются и реализуется. Кроме того, это определение фреймворка включает в себя физические объекты, используемые для создания тестов и их реализации, а также для организации логического взаимодействия между компонентами.
Автоматизированное тестирование (и, следовательно, фреймворки) развивалось годами, формируясь и усложняясь с каждой новой фазой эволюции. Эти фазы могут быть описаны в терминах трех поколений, каждое из которых обладает набором недостатков и преимуществ, благодаря которым каждое из них остается актуальным, несмотря на новые разработки. Представленные ниже понятия обычно используются для автоматизации функционального тестирования, но в некоторых случаях их можно применить и для решения задач модульного тестирования.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js