Pull to refresh
13
0
Дмитрий Еремин @EreminD

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

Send message

Умный Дом. Большое пособие по организации умного дома и автоматизаций в Homekit

Reading time 34 min
Views 178K

Большое пособие по организации умного дома и автоматизаций в Homekit. Обзор доступных DIY решений и их интеграция в Apple Home.

Добавить в Homekit
Total votes 31: ↑29 and ↓2 +27
Comments 56

Veslo — расширение Retrofit для тестирования (Java)

Reading time 28 min
Views 3.2K

Статья расскажет о расширении для декларативного HTTP клиента retrofit предназначенного в большей степени для функционального тестирования API. Создан в первую очередь для упрощения и ускорения разработки API тестов. Расширение позволяет использовать сразу две модели данных в ответе от сервера для позитивных и негативных тестов, динамически выбирать нужный конвертер, содержит встроенные мягкие проверки (softly assert) и еще много всяких полезностей.


Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 2

Jenkins Pipeline Shared Libraries

Reading time 3 min
Views 42K
Всем привет. В данной статье хочу поделиться знаниями, полученными в процессе автоматизации развертывания наших сервисов на различные серверы в разных дата-центрах.

Задача была следующей: есть определенный набор скриптов для развертывания сервисов, которые нужно запускать на каждом сервере каждого дата-центра. Скрипты выполняют серию операций: проверка статуса, вывод из-под load balancer’а, выпуск версии, развертывание, проверка статуса, отправка уведомлений через email и Slack и т.д. Это просто и удобно, но с ростом числа дата-центров и сервисов процесс выкатки новой версии может занять целый день. Кроме того, за некоторые действия отвечают отдельные команды, например, настройка load balancer’а. Также хотелось, чтобы управляющий процессом код хранился в общедоступном репозитории, дабы каждый член команды мог его поддерживать.

Решить задачу удалось с помощью Jenkins Pipeline Shared Libraries: этапы процесса разделились визуально на логические части, код хранится в репозитории, а осуществить доставку на 20 серверов стало возможно в один клик. Ниже приведен пример подобного тестового проекта:

image

Сейчас я расскажу и покажу примеры как этого достичь. Надеюсь эта статья поможет сохранить время другим разработчикам, а также буду рад дельным комментариям.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 17

Управление задачами в Jenkins

Reading time 5 min
Views 160K


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

На рынке сейчас представлено много других инструментов (как платных, так и бесплатных), позволяющих построить процесс непрерывной интеграции максимально комфортно.
Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 15

Паттерны проектирования в автоматизации тестирования

Reading time 22 min
Views 160K
«Нельзя просто так взять и написать классный тест. Один тест написать можно, но сделать, так чтобы по мере того, как количество этих классных тестов росло, как количество людей, которые пишут эти классные тесты, и вы не теряли ни в скорости, ни во времени...»

Эта мысль красной нитью пойдет сквозь материал под катом, и она, пожалуй, требует пояснения. Статья основана на докладе Николая Алименкова, к которому он подошёл не просто прогретым, а горящим после дискуссии с Алексеем Виноградовым о подходах к написанию тестов: методом прямого кода или при помощи паттернов. Нужны ли какие-то еще паттерны, кроме PageElement, Steps, PageObject?! С чего кто-то решил, что паттерны усложняют код, заставляют нас тратить время на создание ненужных (?) boilerplate-простыней? SOLID вам не угодил? А ведь все они создавались с учётом всего накопленного опыта сообщества разработчиков и они знали, что делают.

Николай xpinjection Алименков – известный Java-разработчик, Java техлид и delivery-менеджер, основатель XP Injection. В настоящее время является независимым разработчиком и консультантом, Agile/XP коучем, спикером и организатором различных конференций

Автоматизация тестирования имеет собственный набор задач, так что существует и набор полезных паттернов проектирования для этой области. В докладе Николай рассказывает обо всех известных паттернах и подробно описывает их с практическими примерами.



В основу этого материала легло выступление Николая Алименкова на конференции Heisenbug 2017 Piter под названием «Паттерны проектирования в автоматизации тестирования». Слайды здесь.
Total votes 30: ↑28 and ↓2 +26
Comments 4

Перевод книги Appium Essentials. Глава 5

Reading time 15 min
Views 10K
Привет. Продолжаем перевод книги Appium Essentials и изучение мобильной автоматизации. Что уже пройдено:


В этой главе мы, переходим к автоматизации приложений:

  • Автоматизация нативных приложений
  • Автоматизация гибридных приложений
  • Работа с веб-приложениями и нативными браузерами
  • Работа с веб-приложениями и Safari

Впереди много кода. Поехали!
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 0

Перевод книги Appium Essentials. Глава 4

Reading time 9 min
Views 10K
Привет. Я вернулся и подготовил для вас перевод 4й главы книги по Appium. Если вы только включились, тут у нас предыдущие 3 главы:




Глава 4. Поиск элементов по разным локаторам


У Appium есть несколько способов локализовать элементы в мобильном приложении. В этой главе, некоторые техники поиска элементов для нативных и гибридных приложений, с использованием uiautomator и Appium inspector. Чтобы определять элементы в web-приложениях, мы рассмотрим add-on для Chrome, чтобы удаленно локализовать элементы.

В этой главе:

  1. Поиск элементов с использованием Chrome ADB plugin
  2. Поиск элементов с использованием Safari Develop
  3. Поиск элементов с использованием UIAutomator и Appium Inspector
  4. Поиск элементов по id, Name, LinkText, Xpath, cssSelector, ClassName, AccessibilityId, AndroidUIAutomator и IosUIAutomation
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 0

Перевод книги Appium Essentials. Глава 3

Reading time 7 min
Views 10K
Глава 3. Appium GUI.

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

Содержание:

  • Appium GUI для Windows
  • Appium GUI для Mac

А тут у нас ссылки на
главу 1
— и главу 2

Поехали!
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 2

Перевод книги Appium Essentials. Глава 2

Reading time 8 min
Views 16K
Привет. Продолжаем перевод книги по Appium. Впереди, на мой взгляд, самая нудная, но все же, необходимая глава — в ней рассказывается о том, как развернуть на своей машине все необходимое окружение. От установки JDK до создания JAVA-проекта в IDE.

Если пропустили: Глава 1, а тут — Глава 3

Поехали
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 0

Перевод книги Appium Essentials. Глава 1

Reading time 12 min
Views 32K
Привет Хабр! Я тут взялся за изучение Appium. В числе прочего, попалась мне книжка Appium Essentials:

image

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

Местами, в книге будут комментарии от меня [вот в таких скобках]. Они будут небольшие, просто для уточнения контекста, где необходимо. И еще одно: иногда, редко, буду пропускать какие-то совсем уж очевидные вещи из разряда как прописать JAVA_HOME. Пропущенные куски буду обозначать.

На данный момент есть перевод главы 1 (ниже),
Главы 2
и Главы 3

А в целом, с удовольствием принимаю указания на неточности перевода (с потерей смысла).
Надеюсь, перевод будет полезен. Поехали!
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 1

Строим свой full-stack на JavaScript: Основы

Reading time 7 min
Views 61K

Строим свой full-stack на JavaScript: Основы



В мире JavaScript очень легко набрать свой стек технологий, используя набор небольших пакетов, каждый из которых решают свою конкретную проблему. И это хорошо, c одной стороны, а с другой стороны, у вас особо нет выбора — фреймворки которые выполняют широкий спектр задач в JavaScript не популярны.


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


Читать дальше →
Total votes 29: ↑22 and ↓7 +15
Comments 23

Я заглянул в папку node_modules, и вы не поверите, что произошло

Reading time 4 min
Views 113K
История с left-pad пробрала JavaScript-сообщество до самых костей. В то время как разбухший код продолжает замедлять наши сайты, сажать наши батареи и делать наш npm install медленным, многие разработчики решили сами провести тщательный аудит зависимостей, которые они привносят в свои проекты. Настало время, чтобы мы как сообщество встали и сказали: «Хватит!» Это сообщество принадлежит всем нам, а не только горстке JavaScript-разработчиков с шикарными длинными волосами.

Я решил описать свой опыт в области аудита зависимостей моего проекта и надеюсь, что эта информация будет полезной.
Читать дальше →
Total votes 272: ↑248 and ↓24 +224
Comments 117

Почти полное руководство по flexbox (без самих flexbox)

Reading time 3 min
Views 63K
image

К сожалению, не у всех есть браузер/устройство, поддерживающие flexbox. Это руководство в виде шпаргалки, в котором предлагаются альтернативы обратной совместимости для свойств flexbox.

Хотя некоторый CSS-код в этом руководстве, возможно, покажется очевидным, я собираюсь бросить вызов flexbox, а также предложить простые решения проблем, которые возникали, пока он не обрёл популярность.

Читать всю статью
Total votes 41: ↑32 and ↓9 +23
Comments 59

Тестирование Web UI с Викой в удовольствие или Виртуальный Интеллект в тестировании

Reading time 12 min
Views 13K
Добрый день, дорогие Хабра-читатели. В этот раз в рубрике IT я хотел с вами немного помечтать о будущем. Об эпохе, когда искусственный интеллект не будет диковинкой, и роботы станут нашими близкими друзьями…

Но зачем мечтать, — подумал я. Лучше я расскажу вам об одном таком создании.

Встречайте VIQA WTL – Virtual Intelligence Quality Assurance Web Testing Tool, или по-простому Вика.

Вика — инструмент с Виртуальным Интеллектом для тестирования Web UI (сайтов, по-просту говоря) на языке, понятном пользователю. Инструмент представляет из себя обертку вокруг Selenium и позволяет описывать тестовые сценарии, используя такие понятия как: кнопки, текстовые поля, чеклисты и выпадающие списки, сайт, страницы и блоки. Т.е. использует популярный паттерн PageObjects.

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

Инструмент, используемый мною в работе в i-Free, был представлен на конференции SQA Days 15 (текст презентации и видео будут выложены в ближайшее время организаторами). В презентации Вика описывалась формате сравнения с наиболее популярным инструментом в этой области Yandex QA Tool. В данной статье я постараюсь более подробно рассказать о самом инструменте без выделения его сильных и слабых сторон (желающим разобраться в этом предлагается сделать это самостоятельно в комментариях и/или послушать видео с конференции).

Virtual Intelligence


Начну с названия. Я думаю, вам интересно узнать, причем здесь Виртуальный Интеллект, и что под этим я подразумеваю?
image
Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Comments 4

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity