|
10.08.2021 00:00 |
|
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова
.contains() – одна из моих самых любимых команд в Cypress. Ее имя звучит как утверждение, но на самом деле это команда выбора. Конечно, можно поспорить, что все команды выбора убеждаются в существовании элемента, но давайте не будем вдаваться в философские споры)
Это различие меж тем очень важно. Немного двусмысленное имя .contains() может привести к тому, что вы не узнаете об ее мощи. Одна из вечных проблем тестирования – это поиск подходящего селектора с сохранением читабельности теста. .contains() позволяет выбрать элемент по тексту, но она может куда больше.
Разберемся, чем же она хороша. Я использую ряд примеров, которые можно найти в моем GitHub. |
|
Подробнее...
|
|
02.08.2021 00:00 |
|
Статья предоставлена компанией SimbirSoft Автоматизация тестирования – неотъемлемая часть процесса обеспечения качества. Мы в нашей практике чаще всего разрабатываем тесты для веб-, мобильных приложений и API, но сегодня хотим рассказать о более редком направлении – тестировании десктоп-приложений. Кратко рассмотрим подходы, инструменты, технологии и «грабли», на которые можно наступить при выполнении этой задачи. Статья будет полезна специалистам, которые хотят попробовать автоматизировать ежедневную монотонную работу, а также коллегам по цеху в сфере автоматизации gui-тестирования – как начинающим, так и разработчикам с опытом. |
|
Подробнее...
|
|
15.07.2021 00:00 |
|
Автор: Баз Дейкстра (Bas Dijkstra) Оригинал статьи Перевод: Ольга Алифанова
На прошлой неделе я проводил двухдневную версию своего мастер-класса по тестированию API на Python. Пока мы выполняли упражнения по созданию автотестов для REST API с использованием requests, один из участников спросил, применимо ли это к GraphQL API. Никогда раньше этого не делал, но после совместного гугления и обсуждения мы постановили, что это небольшая проблема.
Так как мы обсуждали это в первый день курса, я обещал подготовить ряд быстрых упражнений, над которыми можно будет поработать на второй день. В этой статье вы увидите ряд примеров, которые входили в эти упражнения.
Один из участников предложил отличное приложение в качестве тестируемого API: SpaceX GraphQL API. Этот публичный API содержит информацию о компании SpaceX, а также ее истории, космическом флоте, миссиях, запусках, и т. д. Множество данных, есть с чем поработать. |
|
Подробнее...
|
|
01.07.2021 00:00 |
|
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова
Привет, и с вами снова цикл статей по основам Cypress!
Получение текста элемента
Чтобы получить правильные атрибуты элемента, хорошо бы понимать основы различных HTML-элементов. Приведу пример. Допустим, у нас два элемента:
<div>Пожалуйста, введите имя:</div> <input type="text"></input> |
|
Подробнее...
|
|
29.06.2021 00:00 |
|
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова
Большая часть тестируемых веб-приложений требует той или иной аутентификации. Тестируя такие приложения, я хочу иметь возможность создавать тестового пользователя. Обычно он генерируется случайным образом и затем используется в большинстве моих тестов. В этой статье я расскажу о нескольких способов генерации пользователя, а затем применю его в Cypress-тестах.
Как обычно, я использую приложение-клон Trello в репозитории, в который вы можете заглянуть и следовать за мной предметно. Я старался сделать статью простой, поэтому создание пользователя в моем приложении – это единичный http-запрос. Однако в целом вы должны быть способны применить эти подходы и в вашем приложении. |
|
Подробнее...
|
|
28.06.2021 00:00 |
|
Автор оригинала: Uladzislau Ramanenka
Меня зовут Владислав Романенко, я старший iOS QA Engineer в Badoo и Bumble. Несколько лет назад мы начали активнее использовать автотесты в разработке, но столкнулись с некоторыми трудностями. Логичный вопрос: почему мы занялись автоматизацией тестирования? Ответ кроется в еженедельном выпуске новых версий наших мобильных приложений. QA-отделу приходится тестировать новые фичи, их интеграцию в сервисы и заниматься регрессионным тестированием. За неделю комплексное регрессионное тестирование нужно проводить как минимум один раз, что довольно утомительно. Автоматизация помогла нам выпускать новые версии быстрее и без потери качества. Подробнее об автоматизации мобильного тестирования — в докладе моих коллег. В разработке проблемы часто решаются с помощью паттернов — обобщённых решений для часто возникающих проблем в заданном контексте. То же и с автоматизацией тестирования, есть даже хорошее wiki-описание. В этой статье мы поговорим о паттернах процессов (Process Patterns). Они помогают организовать и улучшить процесс автоматизации тестирования. Без дальнейших предисловий перейдём к трудностям, с которыми мы боролись, и рекомендациям по их преодолению с помощью тех самых паттернов. Замечу, что это не единственные проблемы, которые у нас были и есть. Но в рамках данной статьи я решил остановиться именно на них. |
|
Подробнее...
|
|
24.06.2021 00:00 |
|
Автор: Руслан Ахметзянов, Qameta Software Обеспечить представление данных из любой большой системы так, чтобы человек мог спокойно с этими данными работать — задача нетривиальная, но давно решенная. В этой гонке уже давно победило "дерево". Папочные структуры в операционных системах знакомы всем и каждому и исторически простое дерево в UI/UX становится первым решением для упорядочивания и хранения данных. Сегодня поговорим о тестировании, так что в нашем случае объектами хранения будут выступать тест-кейсы. Как их хранят чаще всего? Верно, в папочках! Привычно? Да. Но так ли это решение хорошо и универсально? Вопрос подкрепляется существованием исключений: почта, JIRA-тикеты и много чего другого хранится не в папках. Давайте разбираться, почему. |
|
Подробнее...
|
|
21.05.2021 00:00 |
|
Автор: Алан Ричардсон (Alan Richardson) Оригинал статьи Перевод: Ольга Алифанова
Краткое содержание: покрытие требует моделирования. Мы можем организовать код так, чтобы его можно было оценить на основании ментальной модели, и некоторые из моделей исполнимы. Другие модели мы сравниваем с результатами прогона тестов.
Мне задали ряд вопросов: как задокументировать, что делает и что покрывает автотест, не затрачивая кучу времени и сил? Как узнать, что не покрыто автоматизацией? |
|
Подробнее...
|
|
11.05.2021 12:09 |
|
Автор: Роман Буданов, тренер курса “Первый Онлайн ИНститут Тестировщиков” (компания “Лаборатория Качества”)
Всем доброго времени суток, мои маленькие (и не очень) любители (и не очень) SQL! На курсе ПОИНТ мы с нуля разбираем построение запросов, обучаемся основным операторам, работе с разными типами данных, но сейчас я хочу с вами поговорить про один из полезных инструментов, увы, оставшихся за рамками ПОИНТ — сегодня я хочу рассказать вам про такую полезную штуку, как подзапросы и показать несколько вариантов их приготовления. |
|
Подробнее...
|
|
08.04.2021 00:00 |
|
Автор: Энди Найт (Andy Knight) Оригинал статьи Перевод: Ольга Алифанова
Обзор
unittest – это стандартный Python-фреймворк для юнит-тестов. Создатели вдохновлялись JUnit, и он включается в стандартный дистрибутив CPython. unittest содержит базовый класс TestCase, дающий методы для утверждений и рутин настройки и очистки. Все классы тест-кейсов должны наследоваться от TestCase. Каждый метод в подклассе TestCase, чье имя начинается с "test", будет прогоняться как тест-кейс. Тесты можно группировать и загружать с использованием класса TestSuite и методов загрузки – используя их совместно, можно создавать свои собственные тест-загрузчики. unittest также может генерировать XML-отчеты (как и JUnit), используя unittest-xml-reporting.
unittest поддерживается и в Python 2, и в Python 3. Однако для версий старше Python 2.7 нужно пользоваться портированием unittest2. |
|
Подробнее...
|
|