Android Broadcast
14.6K subscribers
3.88K photos
401 videos
11 files
6.39K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
Статья (10 мин) со сравнением популярных библиотек для скриншот тестирования Android приложения: Facebook Screenshot Testing Library, Shot, Paparazzi, Dropshots

#testing
👍14👎9
Новый тестовый фреймворк Ultron, построенный поверх Espresso, UI Automator и Compose UI Testing. Автор придерживался идей простоты написания, стабильности запуска и легкости в поддержки тестов.

🔗 Обзор библиотеки тут (14 мин)
🔗 Исходники тут

#testing
👍34👎13
Инженеры AvitoTech разработали инструмент для ускорения автотестов мобильных приложений  — Emcee

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

Можно попробовать бесплатно или сразу разогнать тестирование на полную мощность. 

Больше подробностей — в официальном канале Emcee @runner_emcee, а обсудить можно в чате

#testing #tooling
👍25👎16
Вышел Kaspresso 1.5.3:
👉 Автоматическая выгрузка артефактов после прогона тестов (логи, видео, скрины, иерархия графических элементов)
👉 Добавлена поддержка кастомных путей до ADB Server
👉 Реализована поддержка кастомных кликов
👉 Улучшена работа со строковыми артефактами при прогоне скриншот-тестов
👉 Добавлено использование поддерживаемых разрешений устройством при записи видео
👉 Повышена стабильность скриншот-тестов в части смены локали
👉 Улучшена работа с системными диалогами в тестах
👉 Добавлена поддержка темной темы скриншот-тестов

Выполнены внутренние доработки CI/CD
👉 добавлены прогоны на API 33 (Android 13) и 21 (Android 5.0)
👉 Добавлены автоматические проверки актуальности и корректности юридических документов
👉 Увеличено количество проверочных тестов.

Также команда опубликовала в туториале новые уроки
Задать вопросы можно в официальном чате @kaspresso

#testing
👍49👎3
Скрипт для сравнения прогонов performance тестов с Jetpack Macrobenchmark

#performance #testing
👍19👎12
В официальной документации в разделе "Тестирование" появился раздел по использованию CI, подходам и сценариям использования

#testing
👍40👎4🔥1
История (5 мин) как тестируется SDK для навигации внутри зданий на CI: проигрывание демонстрационной сессии навигации и подмена данных от SensorManager

🔗 Альтернативная ссылка

#testing
👎4👍1
Ребята заморочились и интегрировали в свои UI тесты на Kaspresso определение утечек памяти с помощью LeakCanary. Подробности в статье (EN, 7 мин)

🔗 Альтернативная ссылка

#testing
👍41👎5
📺 Инфраструктура Android UI-тестов (45 мин)

В «Одноклассниках» UI-автотесты на Android запускаются на каждый коммит в каждом пулл-реквесте. По результатам запуска происходит автоматический анализ запрета мерджа.

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

Сейчас в команде спикера около 1000 тестов, из которых падает менее 1%. В этом им помогает собственная система перезапуска не только тестов, но и отдельных действий и шагов. О том, как это устроено, вы узнаете из доклада.

#testing
👍28👎17
Разработчик после работы над скриншот тестированием понял как они ограничены и требуют много работы руками. Опыт в статье

#testing
👍20👎6
Авторы Kaspresso сравнивают как удобно писать на нем тесты по сравнению с Espresso (решение от Google). Подробности в статье (14 мин)

#testing
👍48👎20
Kaspresso для самых маленьких (18 мин) - руководство для начинающих тестировщиков и разработчиков кто погружается в автотесты в изучение разработчики.

#testing #kaspresso
👍27👎8
Типы UI тестов и подробнее про них:
👉 End-To-End тесты
👉 UI тесты
👉 Pixel perfectness тесты
👉 Accessibility тесты

#testing
👎16👍12
Как организовать архитектуру в проекте, чтобы покрывать его автотестами было эффективно? Статья (12 мин) от разработчика из Лаборатории Касперского, где создали Kaspresso, по лучшим практикам архитектуры приложения

#testing
👍35👎27
Вышел новый релиз Emcee - решения для ускорения прогонов тестов для Android и iOS. Что нового (иконкой помечена категория)
🤖 Реализовали новый способ запуска тестов - через командную строку с помощью JAR
🤖 Поддержали запись видео прогонов тестов.
🍎 Поддержали новый механизм дискаверинга тестов — runtimeXCTest.
🍎 Теперь можно запускать тесты таких альтернативных фреймворков, как Quick, Kiwi и других.
🍎 Улучшили управление ресурсами и процессами очистки и поменяли уровень подробностей логов с trace на debug. Без лишней детализации проще находить и анализировать проблемы в коде. А чем больше свободных ресурсов, тем быстрее скорость следующих запусков
☁️ Поддержали запуск Appium-тестов
☁️ Выкатили Emcee.cloud Actions - интеграция Emcee Cloud в GitHub Actions

Emcee для iOS можно скачать из GitHub , а для Android - образ на Docker Hub. Как вариант попробовать все через Emcee Cloud.

#tooling #testing
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍6🎉4
Цель статьи "Зачем и как в Альфе была написана библиотека для скриншот тестов под Android" (10 мин)— предупреждение проблем и ознакомление с неочевидными моментами скриншот тестов в контексте Android. Также статья делает глубинное погружение в то, как это может работать и то, как это сделали в Альфе-Банке. 

#testing
🔥19👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Device streaming в Android Studio стал доступен всех теперь находится в стадии открытой альфа-версии! Это означает, что вы можете получить доступ к сервису без регистрации в программе раннего доступа. Просто загрузите последнюю версию Canary версию Android Studio и привяжите проект Firebase.

Device Streaming позволяет тестировать приложения на реальных устройствах Android от различных производителей, расположенных в центрах Google, и все это прямо из Android Studio. Сервис можно использовать бесплатно пока он не вышел из Альфа статуса.

#androidstudio #firebase #testing
👍66🔥16❤2
Если вам нужно повернуть экран устройства, открыть/закрыть его или изменить размер окна - теперь это можно сделать с помощью Espresso Device API, но только на эмуляторах

#androidstudio #testing #espresso #emulator
🔥16❤3
🚀 Предусловия UI-тестов через API — не всегда быстрее: замеры на 400+ Android-тестах

Почти каждый UI-тест в Android-приложении финансового сервиса начинался одинаково: шесть экранов логина и около 26 секунд, хотя логин эти тесты не проверяли. Команда проверила на Хабре известный совет «готовьте предусловия через API, а не через UI» на трёх кейсах в сьюте на Kaspresso.

Для логина совет сработал: вход через auth-слой приложения занял ~7 секунд вместо ~26, а общее время 418 тестов сократилось на 27%. А переключение тумблера через PATCH оказалось на 29% медленнее трёх тапов. Тест сам грузил большой список продуктов, который приложение потом загружало ещё раз.

Вывод авторов: выигрыш даёт не API сам по себе, а то, что из теста уходит длинная UI-цепочка, которая не лежит на пути к проверяемому экрану.

🔗 Статья на Хабре

#Android #AndroidDev #Testing #Kaspresso
❤7👍3
🤖 AGP 9.6: покрытие инструментальных тестов без JaCoCo при сборке

Чтобы посчитать покрытие кода инструментальными тестами, Android Gradle Plugin (AGP) по умолчанию встраивает счётчики JaCoCo в классы приложения прямо во время сборки. В AGP 9.6.0-alpha01 появился экспериментальный режим с агентом на устройстве: приложение собирается без этого кода, а классы инструментирует агент на тестовом устройстве во время прогона.

По данным Google, сборка ускоряется на 10–20%, debug APK становится меньше на 20–25%, а неиспользуемые сгенерированные классы перестают занижать процент покрытия. Режим включается двумя флагами в gradle.properties поверх привычного enableAndroidTestCoverage = true:

android.experimental.androidTest.coverage.useOnDeviceAgent=true
android.experimental.reportAggregationSupport=true


Отчёт строит та же задача create<Variant>AndroidTestCoverageReport. Нужны устройство с Android 9 или новее и debuggable-сборка.

⚠️ Цифры не совпадут со старыми отчётами: агент считает инструкции DEX, а не Java-байткода, а классы, которые не загрузились во время тестов, в отчёт не попадают. Пороги покрытия при переходе стоит пересмотреть.


🔗 Документация

#Android #AndroidDev #Gradle #Testing
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4