Как стать автором
Обновить
2
0
Алексей @Boggard

Пользователь

Отправить сообщение

Функциональные тесты веб-приложений с Playwright: основы

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

Функциональное тестирование стало неотъемлемой частью процесса обеспечения качества в веб-разработке. В этой статье рассмотрим возможности Playwright — мощного инструмента для автоматизации тестирования.

Playwright — это библиотека для автоматизации браузеров, разработанная командой Microsoft. Она позволяет взаимодействовать с веб-приложениями так, как это делает пользователь, поддерживая работу с несколькими браузерами, включая Chrome, Firefox и Safari. Главная фича Playwright заключается в его способности работать не только с браузерами, но и с мобильными приложениями.

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

Готовый компонент UI свайп-панели c добавлением scrollView, и других элементов ui. (iOS Swift)

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

ContainerController компонент пользовательского интерфейса. Это копия свайп-панели из приложения: AppleMaps.

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

Playwright + Cucumber необычная связка. Практические примеры написания авто тестов

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

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

Я решил использовать связку из этих двух инструментов исходя из того что BDD тесты – это простой текст, на человеческом языке, написанный в форме истории (сценария), описывающей некоторое поведение, значит Cucumber прост для понимания как начинающему специалисту с небольшим опытом тестирования так и для лица технически не подкованным. При этом мощная сердцевина playwright дает большие возможности для написания авто тестов. Градация фреймворка на части позволит опытному специалисту создавать базовую часть функций (в данном примере на Playwright + TypeScript), а начинающему специалисту покрывать тестами приложение с использованием готовой базы и знаниями (Cucumber, X-path). PS попробую показать это на примере в конце статьи.

Используемые фреймворки/инструменты:

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

Combat Abilities System — Расширение Gameplay Ability System в Unreal Engine, Часть 1

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

В серии статьей я расскажу о моём процессе создания плагина Combat Abilities System, который расширяет возможности стандартного плагина Gameplay Ability System в Unreal Engine. Мы рассмотрим шаги разработки, архитектурные решения и особенности, которые делают наш плагин уникальным и полезным для создания боевых механик в играх.

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

Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+

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

Всем привет! Меня зовут Саша, я iOS-разработчик компании Ozon. Я занимаюсь разработкой и развитием мобильного приложения продавца. Сегодня хотел бы поделиться опытом нашей команды по кастомизации онбординга для вашего мобильного приложения.

Представьте, ваша команда несколько недель разрабатывает фичу, которая ну очень упростит жизнь пользователю. Вы уже готовы её выкатить, но возникают вопросы:

- Как представить новую фичу пользователю?

- Как сделать так, чтобы пользователь не пропустил добавленный функционал?

- Как повысить количество взаимодействий с новым функционалом?

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

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

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

Используем REM для адаптива: комфортная резиновая вёрстка для всех устройств

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

Все верстальщики рано или поздно сталкивались с болью, которая заключается в адаптиве сайта под различные устройства. Существуют разные технологии, упрощающие подгонку размеров под определённые устройства, например, clamp(). Эта функция удобна, так как позволяет минимизировать использование брейкпоинтов, но у неё есть свои недостатки:

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

Небольшой туториал по полигруппам в Zbrush

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

Полигруппы (Polygroups) в Zbrush представляют из себя способ разделения уже существующей 3D-модели на группы полигонов с целью выполнения над ними различных видов работ. При создании каждой из этих групп полигонов ей назначается свой уникальный цвет, что помогает нам визуально различать их. Мы можем добавить секционирование на полигруппы в любую модель, просто включив в Zbrush опцию PolygFrame. Кроме того, они позволяют сделать процесс работы над моделью более гладким, так как мы можем скрыть или убрать ненужные в данный момент секции полигрупп с помощью простого сочетания клавиш.

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

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

Как мы переехали с Oracle на PostgreSQL в нагруженном сервисе без даунтайма

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

Всем привет! Я Сергей, работаю в B2B-команде Яндекс Маркета последние 3,5 года. Как уже понятно из заголовка, сейчас я вам расскажу про yet-another-миграцию с базы на базу, которая началась в середине 2021 года и заняла почти год. Получается, мемуары.

Вас ждёт рассказ о том, как мы:

- несколько месяцев чинили тесты и делали трансформер;

- десятки раз переливали данные;

- чинили баги незаметно для пользователей;

- заставили сервис работать на PostgreSQL быстрее, чем он работал на Oracle.

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

Сборка приложения для AppStore. Используем Jenkins, Fastlane, TestFlight

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров3.1K

Большой туториал настройки CI/CD пайплайна с использованием Jenkins и Fastlane.

Внедрение CI/CD в процесс создания iOS-приложений  позволяет разработчикам сосредоточиться на инновациях и улучшении функциональности приложений, в то время как рутинные процессы выполняются автоматически. Jenkins и Fastlane способны обеспечивать необходимую автоматизацию и гибкость в разработке. Помогают поддерживать высокий стандарт качества при более быстром цикле, что в конечном итоге приводит к созданию лучшего продукта для пользователей.

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

Знакомьтесь, SafeTest — новый подход к тестированию фронтенда

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


В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.
Читать далее
Всего голосов 15: ↑14 и ↓1+17
Комментарии2

Как установить Windows 11

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

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

Читать далее
Всего голосов 120: ↑98 и ↓22+99
Комментарии238

Делаем addon для Blender

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

Люблю Blender. Он мощный, а в последних версиях красивый! А ещё он бесплатный. И даже становится удобнее. Но, если посмотреть на то, сколько вопросов в интернете про то, как сделать что-то вполне тривиальное, начинаешь понимать, что до реального удобства там ещё далеко. С последними версиями эти вопросы становятся менее актуальными, потому что часть этих проблем уже кто-то решил за вас, написав аддон, который и только ждет что бы его активировали!

А что делать, если руками никак, а нужного функционала нет? Написать свой аддон!

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

Делаем PageObject правильно. Удешевляем тестирование и снижаем порог вхождения

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

Привет, меня зовут Коля, занимаюсь тестированием 7 лет, автоматизацией — 6 лет. Так уж сложилось, что не особо люблю WebUI-тесты, но почему-то именно они у меня получаются лучше всего.

В один день мне позвонил мой друг Рома и сказал: «Коля, помнишь ты у нас автотесты делал с селениумом? Помоги мне сделать так же красиво».

Отправив Роме ссылку на свой гитхаб и устроив пару созвонов с объяснениями, что и как работает, я добился от него заветного «Я понял». 

Спустя два дня Рома позвонил снова: «Коля, я всё понял, а вот ребята в моей команде — нет. Помоги мне объяснить им».

Внутри я расскажу от том, как:

ускорить написание тестов;

снизить затраты на их поддержку;

прокачаться в написании фреймворков;

сэкономить деньги компании;

сохранить нервы сотрудников.

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

Как мы сократили время тестирования на 70% благодаря переходу с Cypress на Playwright

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


«Remove .only from Cypress test» — знаком ли вам такой комментарий к коммиту? Если вы используете Cypress для сквозного тестирования, то вы знаете, о чем я говорю.

Мы создали обширный набор из более чем 200 тест-кейсов с помощью Cypress. Хотя Cypress является мощным инструментом, мы в какой-то момент заинтересовались Playwright. Playwright — это быстро развивающийся фреймворк с открытым исходным кодом, разработанный Microsoft. Обещания повысить скорость, унифицировать синтаксис и обеспечить кроссбраузерную поддержку серьезно заинтересовали нас, и мы решили попробовать.

В этой статье мы расскажем, почему и как мы перешли с Cypress на Playwright. Вы узнаете о ключевых преимуществах Playwright и о том, как мы справились с переходом.
Читать далее
Всего голосов 12: ↑10 и ↓2+10
Комментарии5

Самая дешевая заводская панель управления умным домом, которая отлично работает

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров81K

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

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

С тех пор я переехал и не захотел повторять все эти шаги, мне хотелось взять готовое заводское устройство, программно его настроить, отвязать от любых облачных сервисов и просто вставить его в подрозетник или поставить на стол. Переплачивать за панель тоже не хотелось. В итоге таким вариантом стала Sonoff NSPanel.

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол
Всего голосов 81: ↑78 и ↓3+99
Комментарии126

Дебаггинг приложения без Xcode. Зачем?

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

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

Привет, меня зовут Владимир Петров, я iOS разработчик в Альфа-Банке. Я вам расскажу как мы сделали свой дебаг-инструмент и научились дебажить наше приложение без Xcode. Обратите внимание на статью, если думали над тем, чтобы делать свое решение или готовое — расскажу, какая там может быть функциональность.

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

Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 2)

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

В прошлой части мы обсудили модули Ansible и прочитали о некоторых важных модулях. Таких, как модуль проверки подключения хоста и целевого узла (модуль ping), модуль, способный извлекать информацию из целевого узла (модуль setup), модуль управления существующим пакетом и установки новых (модули yum, apt, package, pip и npm), а также модуль запуска базовых команд и сценариев на целевых узлах (модули raw, command, shell и script).

В этой части серии мы рассмотрим все модули, связанные с управлением различными файлами и их свойствами.

Поехали…

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

Shadowsocks-туннелирование корпоративного VPN

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

Если у вашей компании имеются серверы, работающие за границей, и доступ для внутренних пользователей вы предоставляете посредством VPN-протоколов (достаточно типовая схема, особенно после Covid — 2019, когда удалённая работа стала особенно популярной), то настало время действовать на опережение. Конечно, применение административного ресурса, возможно, защитит ваши интересы от тотальных проблем в будущем, но лучше подстраховаться, чем в один прекрасный день получить 100500 сообщений от систем мониторинга о недоступности опекаемых клиентов. Статья демонстрирует, как скрыть от противодействия со стороны систем глубокого анализа трафика сервисы компании, доступ к бизнес-процессам которых обеспечивается посредством VPN, используя для этого туннели shadowsocks.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии54

Делаем пагинацию в React приложении

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

Пишем на typescript простой, переиспользуемый пагинатор для React приложения. Покрываем его тестам на Jest.

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

Как стать iOS-разработчиком?

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

Привет! На связи KTS и наш эксперт по направлению iOS-разработки Александр.

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

Насколько востребована позиция iOS‑разработчика на рынке РФ, какие риски с выбором этого направления для старта карьеры наиболее актуальны, что именно надо изучать и где искать нужные материалы — в этой статье.

Читать далее
Всего голосов 31: ↑30 и ↓1+29
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность