Автотесты: что есть 100% покрытие API?

Ку! Меня зовут Евген, и я Автоматизатор тестирования на Python. В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

О создании API

Ку! Меня зовут Евген, и я Автоматизатор тестирования на Python. В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

Когда клиент откладывает покупку, ожидая скидки, важно не потерять его интерес. Уведомления о снижении цен на избранные товары помогают вовремя сообщать пользователям о выгодных предложениях, возвращая их на сайт и стимулируя продажи. В статье мы расскажем, как настроить такую функцию в 1С-Битрикс.

Сегодня я рад представить новый масштабный проект, в рамках которого мы подробно рассмотрим технологии и подходы, ранее не освещенные в моих статьях.
На этот раз мы создадим телеграм-бота с MiniApp (ранее известным как WebApp) — это будет бот с интегрированным мини-сайтом прямо в Telegram. Для реализации проекта мы используем два основных фреймворка:
1. FastAPI — мощный Python-фреймворк, который мы задействуем для разработки API нашего телеграм-бота. Мы рассмотрим уникальный подход, позволяющий создать полноценный бэкенд, который будет закрывать как API-методы, так и функционал телеграм-бота.
2. Vue.js 3 — JavaScript-фреймворк, выбранный за его удобство разработки и возможности создания сложных визуальных элементов.
В этой статье мы сосредоточимся на описании бэкенда, а создание приложения на Vue.js 3 будет вынесено на следующую статью.

В этой статье речь пойдёт о фреймворке коллекций в Java. Относительно недавно (в 3 кв. 2023 года) эта библиотека вновь слегка обновилась. Я ознакомился с обновлениями, и скажу, что они меня разочаровали.
Далее идёт разбор того, что именно я считаю концептуально неверными архитектурным решением в коллекциях, и предложение своего способа их организации.
Итак случившееся обновление - добавление последовательных версий интерфейсов в коллекции, а именно SequencedCollection, SequencedSet и SequencedMap. Такие последовательные коллекции ещё во времена Рапиры, кажется, называли кортежами.

JSON - наш повседневный помощник, но вместе с другими текстовыми форматами он может преподнести неприятные сюрпризы: потеря точности чисел, громоздкие файлы, путаница с датами. Рассказываю, как этих проблем избежать и повысить эффективность с помощью стриминга в Node.js, а также MessagePack и Protobuf. Узнайте, где подводные камни и как их обходить на практике!
Если хотите понять, в чём именно проблема на иллюстрации, загляните в статью — там всё разобрано :-)

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки серверов до создания своих приложений. Наиболее интересные и подробные продолжаем размещать в нашем хабе.
Google Таблицы — мощный инструмент для работы с данными. Их потенциал значительно расширяется с помощью Apps Script.
В этом и этом гайдах пользователи рассмотрели два способа отправки SMS прямо из таблиц: индивидуальные разовые уведомления и массовые рассылки. Мы чуть дополнили гайд.

При разработке нашей системы OpenPIM мы столкнулись с необходимостью выгружать карточки товаров на Озон. У Озона есть официальная документация по АПИ, но при этом существует масса мелочей которые не всегда ясны и мы потратили много времени чтобы со всем этим разобраться. Поэтому мы решили поделиться с вами техническими деталями работы с API Озон.
При этом, надо учитывать, что мы занимаемся только созданием или обновлением карточек товаров со всей необходимой информацией, но не занимаемся вопросами цен, остатков и т.д. Поэтому в данной статье мы остановимся только на этом.

В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.
Рассмотрим лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct. Эта статья будет полезна как начинающим разработчикам, так и тем, кто хочет улучшить свои навыки в проектировании REST API.
Контекст в чат-ботах играет ключевую роль в создании удобных и интерактивных взаимодействий с пользователем. Без него бот теряет связь с предыдущими сообщениями, что усложняет диалог. В этой статье мы рассмотрим, как реализовать систему контекстных диалогов на Python с использованием библиотеки telebot. Мы покажем, как управлять состоянием диалога, сохранять контекст и обрабатывать несколько пользователей одновременно, делая бота более умным и персонализированным.

Прошло полгода с момента введения бизнес-режима в Telegram.
Суммарно за это время им воспользовались около 300.000 раз (в приложении, где миллионы сообщений отправляются ежедневно).
В статье я расскажу, как можно классно использовать использовать эту фичу и не потерять свой аккаунт.

Предновогодний кодфриз — это время для полезных открытий: есть возможность поковыряться в имеющихся системах и что-нибудь исправить.
В Сравни у нас много продуктов, включая сервисы подбора и покупки полиса ОСАГО, подбора кредита, образовательных курсов, онлайн-оформления ипотеки. Информация о пользователях хранится и обрабатывается в специальном центральном сервисе (Profile Service). На текущий момент сервис содержит миллионы объектов пользователей, а нагрузка в пиковые моменты там до 180 запросов в секунду.
Исходная реализация Profile Service была построена на микросервисах и, как казалось нам ранее, полностью покрывала наши потребности: в плане гибкости взаимодействия с продуктами и работы с существующей нагрузкой. Изменения назрели под конец прошлого года, когда продуктовые команды стали настойчиво обращаться в команду сервиса для решения срочных задач. Здесь им регулярно требовалась помощь разработчиков — и команда Profile Service около месяца занималась только обработкой продуктовых запросов.
В попытках исправить ситуацию мы пришли к идее задействовать GraphQL. Под катом рассказываем, как провели год с GraphQL, и как за это время нам удалось облегчить жизнь и технологическим, и продуктовым командам.

А сколько у вас в компании во внутренних системах используется наименований одного и того же поля в API? А сколько способов назвать поле, которое перечисляет список id?
Я часто сталкиваюсь с тем, что при проектировании и разработке HTTP REST API команды (чаще неосознанно) собирают целый семантический и лексический зоопарк наименований. Потом бывает сложно разобраться, что нужно записать в определенное поле, или какое название поля выбрать для перечисления списка ID из уже существующих.
Поэтому я однажды собрала для себя и коллег гайд–чек-лист под названием “Приглаживаем названия в API” и теперь публикую его для широкой аудитории. Уверена, что он кому-то да пригодится.
Приветствую Хабр!
Решил поделиться своим проектом, который позволяет быстро создать инструмент для тестирования нагрузки HTTP-запросов (GET и POST) к заданному API. Этот инструмент идеально подходит для разработчиков и тестировщиков, которые хотят проверить производительность своих API с минимальными затратами времени на настройку.

Утро, аромат свежесваренного кофе, и телефон тихонько напоминает вам о приеме важного лекарства. «Привет! Не забудь принять лекарство!» Такую систему можно реализовать самостоятельно с помощью Golang и Exolve API.
В этой статье я покажу, как клиники и медцентры могут построить надежную систему SMS-напоминаний.

Привет, Хабр! На связи команда Seller API, а именно её тимлид Саша Валов и старший разработчик Никита Денисенко. В этой статье мы разберём одну из проблем большого API и расскажем, как мы её решили.

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки серверов до создания своих приложений. Наиболее интересные и подробные продолжаем размещать в нашем хабе.
В этом гайде пользователь на простом примере рассматривает, как с помощью микроконтроллера NodeMCU (ESP8266) и кнопки отправлять SMS через HTTP POST-запросы. Это полезно для создания различных IoT-устройств — мониторинга и умных домов.

Всем привет! Сегодня расскажу, как мы автоматизировали работу с дилерами у крупного производителя окон.
Через дилерскую сеть продукцию с заводов продавали застройщикам, а это очень конкурентный рынок. Если у дилера начнутся проблемы, застройщик сразу заменит его на нового, а тот уже может работать с другими заводами. Чтобы не потерять долю рынка, производителю окон нужно мониторить финансовое состояние дилеров и самостоятельно вести базу контактов застройщиков, чтобы в рискованной ситуации перераспределить заказы на других дилеров своей сети.
Нашей задачей было автоматизировать процесс мониторинга финансовых рисков с помощью интеграции CRM-системы с 1С и Контур.Фокусом.

Привет! Эту статью я пишу для тех, кто хочет разобраться в сложных понятиях простыми словами.
Идемпотентность стала моей «любимой» темой после одного из первых собеседований, где меня попросили объяснить её так, чтобы понял кот. Тогда это было для меня вызовом, но спустя время я поняла, что вдохновение приходит из простых вещей и самый простой способ объяснить их — через примеры, которые мы видим каждый день.
Надеюсь, после прочтения статьи это будет понятно не только вам, но и вашему коту, если вдруг он читает.

В 2025 году, когда цифровая трансформация приведет к появлению новых высот, безопасность API станет не просто показателем, а важным значимым аспектом. Времена простых уязвимостей прошли, и теперь мы сталкиваемся с эволюционирующими угрозами, которые требуют от нас не только знаний, но и возможности защиты наших приложений. Непрерывный мониторинг, анализ и адаптация к новым вызовам обеспечивают надежную безопасность API.
Акцент на 2025 год: В статье теперь говорится о будущем и новых вызовах.
ИИ в угрозах и защите: Подчеркнуто влияние ИИ как для атакующих, так и для защитников.
Усложнение атаки: Уязвимости теперь описываются в более сложном виде, с учетом развития технологий.
Микросервисы и облако: Уделено внимание облачной инфраструктуре и микросервисам.
Проактивный подход: Акцент на профилактических мерах и обучении.