Как стать автором
Обновить

Компания Газпром-Медиа Холдинг временно не ведёт блог на Хабре

Сначала показывать

Make It Right! Максимум пользы, минимум проблем: рекомендации по написанию API автотестов на Python

Время на прочтение17 мин
Количество просмотров11K

Привет, Хабр! Меня зовут Катерина, я инженер по автотестированию в команде онлайн-кинотеатра PREMIER и сегодня я хотела бы поделиться с вами своим опытом в написании API автотестов на Python. Я работаю в сфере автотестирования уже довольно давно и на практике встречаю проекты из разных сфер деятельности (банкинг, ритейл, телекоммуникации, строительство, развлечения и др.) зачастую, работая над ними, я сталкивалась с одной общей проблемой - код автотестов был тяжелым в понимании и плохо масштабируемым. Приходилось его капитально рефакторить, а это совсем невесело;) В этой статье  я хочу поделиться советами, как сделать ваш код более «чистым», легким в понимании и расширении. Мне всегда хочется думать, что тот, кто будет работать с моим кодом в будущем, будет думать обо мне и моём коде в положительном ключе, а не ругаться на него. Если вы разделяете мою философию, прошу под кат.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Быстрый старт в сборке метрик по билдам в android-проекте

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров961

Привет, Хабр! Меня зовут Андрей, я новый Android-разработчик в команде онлайн-кинотеатра PREMIER. 

Когда я только пришел на работу в проект, мне поставили задачу внедрить измерение билдов для того, чтобы видеть, как с течением времени у нас меняется время сборки проекта на разных билд-машинах. 

Решение задачи

После проведенного анализа я выявил два варианта решения.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Публикуем Android приложения автоматически с помощью Gitlab CI

Время на прочтение4 мин
Количество просмотров3.3K

Привет! Я Даша, Android-разработчик в команде онлайн кинотеатра PREMIER.

В прошлой статье я рассказывала, как мы настроили сборку проекта с помощью Gitlab CI. Дальше нужно отправить приложение в маркеты для внутреннего тестирования, а затем конечным пользователям.

Сегодня разберемся, как автоматически опубликовать приложение в Google Play, Huawei App Gallery и Firebase на примере нашего приложения онлайн-кинотеатра PREMIER. Также расскажу, как мы отправляем сборку в Nexus.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии1

Настраиваем CI/CD для тестовой инфраструктуры Android

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.4K

Всем привет! Я Алексей Пак, работаю в отделе автоматизации компании «ГПМ Цифровые Инновации». Занимаюсь ручным и авто тестированием Android приложения онлайн-кинотеатра PREMIER.

После внедрения Allure TestOps и автотестов на Kaspresso перед нашей командой встала новая задача. Как настроить запуск наших тестов в CI/CD?. В статье расскажу про настройку интеграции между Kaspresso, Allure TestOps и Gitlab CI. Поделюсь опытом про проблемы с которыми столкнулись и как решали их, чтобы вы смогли самостоятельно настроить тестовую среду не наступать на грабли)

Статья будет интересна тем, кто задумывался о запуске автотестов в CI/CD и получении отчетов в Allure Test Ops и тем, кто на пути внедрения тестовой инфраструктуры. Для автоматизации тестирования приложения пишем нативные автотесты на Kotlin. В нашем проекте для Android приложения используем Kaspresso, Junit, Allure Test Ops, Gitlab CI/CD

Kaspresso - гибкий и удобный фреймворк фреймворк для автоматизации UI. Фреймворк представляет обертку Espresso, UI Automator. Мы выбрали этот фреймворк, тк содержит следующие преимущества:

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

JIRA и JavaScript: кастомная форма внутри стандартной формы экрана создания

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2K

В данной статье мы рассмотрим процесс создания формы на базе JavaScript и включения ее в экран создания запроса в JIRA.

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

Читать дальше
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

«Фокус-покус», или еще одна попытка побороть Leanback

Время на прочтение5 мин
Количество просмотров1.1K

Привет, сообщество! Меня зовут Илья Бу. и в этой статье я хочу с вами поделиться болью (опытом), как нам в приложении PREMIER на ANDROID TV пришлось реализовать не совсем стандартный UI. К счастью (нет), у нас есть библиотека Leanback от Jetpack, которая призвана упростить (точно нет) разработку приложений на Android TV для разработчиков.

В данной статье мы рассмотрим, как реализовать обычный экран Android на Android TV. Интересно? Тогда погнали!

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

Настраиваем Gitlab CI для сборки Android-проекта

Время на прочтение5 мин
Количество просмотров9.4K

Привет! Меня зовут Даша, я Android-разработчик в команде онлайн-кинотеатра PREMIER и я хочу с вами поделиться историей как мы начали приводить в порядок Gitlab CI скрипты :)

В нашем проекте стало много вариантов сборок и чтобы не тратить кучу времени на ожидание и поиск необходимого билда нам нужно было хотя бы получить отбивку об окончании работы джобы. А затем - решить неудобства с копипастой, чтобы поддержка скриптов не вызывала выгорание:) Погнали!

Погнали!
Всего голосов 11: ↑10 и ↓1+12
Комментарии9

Делаем плавный скролл в нагруженных таблицах

Время на прочтение11 мин
Количество просмотров4.2K

Как часто вы обращали внимание на плавный скролл в мобильных приложениях?

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

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

Получается, реализация плавного скролла является одной из наших приоритетных задач, решить которую очень непросто. 

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии5

Поиск не вставая с дивана, или как подружить приложение со Сбер Ассистентом

Время на прочтение5 мин
Количество просмотров1K

Всем привет 👋 . Зовут меня Илюша Кр, и сегодня я вам расскажу, как же все-таки попросить ассистента принести чипсов сделать поисковый запрос внутри вашего приложения.

Для начала скажу пару слов о себе: я такой же обычный парень, как и вы, работаю разработчиком под Android в онлайн-кинотеатре PREMIER. Но, когда я взял задачу по внедрению голосового помощника Сбера в приложение, моя жизнь разделилась на «до» и «после». Заинтриговал? Тогда читай дальше!

Жми кнопку и полетели
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

Туда и обратно: как мы пытались отследить актуальное время в Android

Время на прочтение4 мин
Количество просмотров2.5K

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

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии10

Приключения онлайн-кинотеатра Premier в Android TV, или Как мы javascript внедряли

Время на прочтение9 мин
Количество просмотров2.3K

Привет, Хабр! Меня зовут Артем, и вот уже два года, как я работаю над онлайн-кинотеатром PREMIER. Эта история началась, как и многие другие, со слов тимлида: “Артем, есть интересная задачка”.

Ситуация была следующая: библиотека, над интеграцией которой велись работы, не имела поддержки Android TV. Для этой библиотеки существовала мобильная версия и версия для веб-клиентов, написанная на JavaScript.

Поскольку поддержки Android TV, в частности навигации с помощью пульта, внутри библиотеки предусмотрено не было, я решил использовать web-версию библиотеки и кастомный интерфейс с поддержкой Android TV. Что из этого вышло — читайте далее.

Что из этого вышло - читайте далее. Статья будет полезна тем, кто любит смелые эксперименты, работает с Android или Android TV и знает, что такое Javascript.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии6