10.10.2022 00:00 |
Автор: Баз Дейкстра (Bas Dijkstra) Оригинал статьи Перевод: Ольга Алифанова
Я часто говорю себе (а также участникам моих тренингов), что JavaScript не очень-то со мной дружит. Возможно, проблема во мне, возможно, в JavaScript, но по какой-то причине я не могу вникнуть в этот язык. Университетское воспитание на куда более жестких языках (особенно Java), возможно, приложило к этому руку. |
Подробнее...
|
25.08.2022 00:00 |
Автор: Баз Дейкстра (Bas Dijkstra) Оригинал статьи Перевод: Ольга Алифанова
Недавно я написал статью про Pactum, библиотеку JavaScript для тестирования API, имитации и контрактного тестирования. В статье я сконцентрировался на возможностях Pactum для тестирования API. Сегодня я хочу продолжить изучать Pactum, внимательнее рассмотрев его функциональность по имитации API.
У меня есть опыт работы с библиотеками имитации API, особенно с WireMock и WireMock.Net, и в сегодняшней статье я сравню с ними Pactum, рассмотрев важные функции, которые необходимы мне в любом инструменте или библиотеке, имитирующих API.
|
Подробнее...
|
17.08.2022 00:00 |
Оригинальная публикация Статья компании SimbirSoft
В список требований, предъявляемых к QA-специалистам, включают умение тестировать API приложений. Обращения к API помогают оптимизировать процесс тестирования: сократить время на проведение, расширить покрытие кейсами, минимизировать зависимость от внешних систем, например, клиентской части приложения. Кроме того, обращения к эндпойнтам позволяют проверить тестовые случаи, которые невозможно воспроизвести, используя только графический интерфейс. Чтобы выбрать инструмент для тестирования API на своем проекте, вам нужно четко представлять свои цели, объект и результат, который хотите получить. Неправильно выбранный инструмент может привести к увеличению трудоемкости и затягиванию процесса тестирования, а также к пропуску багов. В этом материале мы рассмотрим наиболее распространенные виды API, выделим их характерные особенности, а также разберем популярные инструменты для тестирования API и опишем применение на практике. Изучив этот материал, вы сможете выбрать наиболее подходящий инструмент и использовать его на своем проекте. |
Подробнее...
|
21.07.2022 00:00 |
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова Существует множество способов измерения производительности. В сегодняшней статье я хочу поговорить об одном из самых простых. Вообразите следующий сценарий: |
Подробнее...
|
13.07.2022 00:00 |
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова Если вы используете Cypress, то, возможно, знакомы с цепочками команд. Так ли это? Я вижу, что многие пользователи Cypress знают об этом, но иногда не улавливают их внутреннюю логику.
В этой статье я хочу разобрать ряд основополагающих принципов цепочек Cypress и то, как их понимание улучшит ваши тесты. |
Подробнее...
|
04.07.2022 00:00 |
Автор: Баз Дейкстра (Bas Dijkstra) Оригинал статьи Перевод: Ольга Алифанова Ранее я писал статью с примерами того, как задавать данные в фича-файлах Cucumber в форме таблиц, чтобы спецификации было легче читать, и показал, как интерпретировать данные в разных табличных форматах.
В конце этой статьи я обещал написать продолжение про концепцию трансформеров таблиц данных, чтобы работать с табличными структурами данных Cucumber-JVM другим, более эффективным путем. Это заняло некоторое время, но вот это продолжение.
Я большой поклонник SpecFlow, BDD-фреймворка для .NET. Одна из наиболее симпатичных мне функций SpecFlow – это SpecFlow.Assist helpers, позволяющие быстро трансформировать таблицы из спецификаций в списки экземпляров C#-объектов, а также сравнивать списки объектов с таблицами – и все это путем одного вызова метода SpecFlow.Assist helper.
В этой статье я покажу вам, как сделать нечто похожее в Cucumber-JVM через использование трансформеров таблиц данных. |
Подробнее...
|
23.06.2022 00:00 |
Автор: Анастасия Копова
При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опыт проведения собеседований показывает, что новички в тестировании мобильных приложений ограничиваются интерфейсными проверками, упуская из виду то, что за каждым изменением интерфейса стоит отправка запроса к серверу и получение ответа от него. Здесь и возникает пространство для ошибок. Если повезло, то кандидат знает о необходимости проверки сетевого взаимодействия, но, за редким исключением, его знания ограничены Rewrite или Breakpoints. Сегодня я расскажу, с какими задачами сталкиваются тестировщики мобильных приложений и как в этом помогает Charles Proxy. |
Подробнее...
|
01.06.2022 00:00 |
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова
Если вы когда-либо тестировали API через Postman или иной инструмент, то это будет элементарной задачей для вас. Cypress – отличный инструмент тестирования, который также может быть полезен при тестировании API. В сегодняшней статье я пройдусь по основам создания API-теста в Cypress. |
Подробнее...
|
16.05.2022 00:00 |
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова Возможно, вам нужно запускать ваши тесты в нескольких окружениях. Неоднократно видел, как люди делали что-то вроде этого:
cy.visit(Cypress.env('localUrl'))
Я большой поклонник использования Cypress.env() для хранения переменных, но есть способы куда лучше. |
Подробнее...
|
13.04.2022 00:00 |
Автор: Филип Рик (Filip Hric) Оригинал статьи Перевод: Ольга Алифанова Среди тестировщиков множество перфекционистов. Практически у всех, с кем я сталкивался, чешутся руки использовать команду .wait() в Cypress и остановить тест на пару секунд. Если вы из таких людей, то отлично знаете, что такое использование .wait() – не лучшее решение, и пробуете найти альтернативу. Тест просто ничего не делает несколько секунд. Их может быть достаточно, но иногда этого мало.
Когда мы используем .wait(), то хотим, чтобы приложение пршило в нужное состояние. Закрытие модального окна, получение ответа от сети, смена состояния кнопки… Cypress был создан с учетом повторных попыток – это означает, что как только команда сработает, Cypress перейдет к следующей. Если команда не срабатывает, Cypress будет пытаться выполнить ее повторно в течение нескольких секунд.
Эта архитектура часто приводит к тому, что Cypress зачастую слишком быстро бежит по приложению, а мы хотим заставить его подождать. Жестко закодированное ожидание – зачастую способ приказать Cypress замедлиться. Но это не идеальный подход, как я уже говорил. Давайте посмотрим, что можно сделать, если вы сталкиваетесь с этим пугающим решением. |
Подробнее...
|
|