Pull to refresh
5
0
Степан М. @Symsym

DevOps

Send message

Allure-Android. Информативные отчеты для мобильной автоматизации

Reading time3 min
Views6.9K
Статья публикуется от имени Иванова Андрея и Батеевой Екатерины, neifmetus

Автоматизация мобильных приложений довольно молодая сфера: фреймворков много и многие проекты сталкиваются с проблемой выбора самого «быстрого, стабильного, простого в использовании». Также и мы около двух лет назад стояли перед выбором нового инструмента автоматизации тестирования Android приложений.
Все популярные инструменты так или иначе базировались на UIAutomator и Espresso, поэтому мы решили затестить их в чистом виде и сравнить с теми же Appium (самый популярный) и seeTest (использовался до этого, лучший среди платных на тот момент).

Из достоинств Appium можно выделить привычный многим WebDriver API, возможность использования большинства популярных языков и библиотек. Кроме этого, он широко используется во многих компаниях и позволяет писать тесты сразу под платформы iOS и Android. И, наконец, это бесплатное коробочное решение — что может быть лучше?

Так думали мы, пока не обнаружили следующие недостатки:
  • низкая стабильность Appium Server
  • нельзя взаимодействовать с публичными методами Activity (в 2018 году про создание backdoor в Appium рассказал в своей статье Николай Абалов из Badoo, прочитать можно здесь)
  • сильно уступает по скорости выполнения тестов Espresso

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

Итак, фреймворк был выбран, оставалось найти остальные компоненты:
  1. Runner — должен позволять запускать тесты параллельно и конфигурировать пулы устройств
  2. Reporter — должен предоставлять удобочитаемый отчет, которым мог бы пользоваться любой член команды

Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments0

Новый взгляд на изучение и документирование исходного кода

Reading time3 min
Views27K
TL;DR Привет. Меня зовут Богдан и я изучаю проблемы чтения кода. Я только что закочнил первую рабочую версию «codecrumbs» — визуального инструмента для изучения исходного кода с помощью «хлебных крошек». Гитхаб репозиторий можно посмотреть тут.

image

Проблема


Недавно я проводил опрос о главных проблемах с которыми мы сталкиваемся когда начинаем изучать исходный код большого проекта (если вы ещё не участвовали, то пройти опрос всё ещё можно тут).
Читать дальше →
Total votes 74: ↑70 and ↓4+66
Comments35

Linux в кармане — на службе у фотографа

Reading time6 min
Views49K
Так получилось, что фотография, это мой основной профессиональный вид деятельности, а программирование — хобби, которое иногда позволяет размять мозг. Кроме непосредственно разминки для мозга, программирование помогает и в работе. Например, писал полезные штуки, такие как это или это, или это.

Недавно поставил себе задачу, как бы еще порадовать своих клиентов. Вспомнил многочисленные просьбы клиентов на свадебную съемку: «Как хорошо было бы, если бы на банкете вы смогли показать коротенькое слайдшоу из фотографий, которые отсняли за день». На эти просьбы приходилось отказывать, по нескольким причинам: лень таскать с собой ноутбук для сборки слайдшоу, нет времени на отбор пары десятков снимков из сотен, из raw опять же нужно конвертировать, и самое главное — на это все нужно время, которого нет.

Это рассказ, о том, как мне удалось сделать для себя инструмент, который с минимальным моим участием и минимальным дополнительным весом в рюкзаке, помогает сделать красивые слайдшоу. И конечно же рассказ о python, ffmpeg и linux на android.
Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments75

Портативный спектрометр SCIO набрал на Kickstarter 1,3 миллиона долларов вместо 200 тысяч

Reading time2 min
Views159K


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

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

О том, как можно использовать девайс было сказано мало, и об этом — в продолжении. Сразу скажу, что на kickstarter этот спектрометр уже собрал 1,3 миллиона долларов вместо 200 тысяч, и до конца сбора средств еще 33 дня.

Читать дальше →
Total votes 118: ↑111 and ↓7+104
Comments91

Диагностика неисправностей блока питания с помощью мультиметра

Reading time4 min
Views344K
Недавно понадобилось произвести диагностику питания, для того чтобы понять по какой причине не запускается машина. К сожалению, в интернете оказалось мало годных статей на эту тему, поэтому пришлось самому лезть в даташиты.
Эта статья является выжимкой из моих изысканий и надеюсь поможет кому-нибудь, когда им придется заниматься тем же самым.

Дисклеймер номер раз: Данная статья относится только к обычным блокам питания стандарта ATX, она не относится к проприетарным стандартам блоков (например как у старыx рабочиx станциях DELL или SUN), использующим другую распиновку ATX-коннектора. Внимательно сверьтесь со схемой и убедитесь в том, что ваш блок питания является стандартным прежде чем проводить диагностику, во избежании причинения вреда вашему компьютеру.

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


Перейдем к теории:

Стандарт ATX имеет 2 версии — 1.X и 2.X, имеющие 20 и 24-пиновые коннекторы соответственною, вторая версия имеет 24-x 4 дополнительных пина, удлиняя тем самым стандартный коннектор на 2 секции таким образом:
image

Прежде чем мы начнем, расскажу про “правила большого пальца” по отношению к неисправностям:
1) Проблемную материнскую плату легче заменить чем починить, это крайне сложная и многослойная схема, в которой разве что можно заменить пару конденсаторов, а обычно это проблемы не решает.
2) Если вы не уверены в том что вы делаете, то не делайте этого.

Читать дальше →
Total votes 135: ↑130 and ↓5+125
Comments58

Атипичные клавиатуры

Reading time7 min
Views18K
Говорят, что обычная QWERTY-клавиатура была изобретена с целью уменьшить скорость набора, потому что у слишком быстрых машинистов первые машинки клинили. Не знаю, сколько в этом утверждении правды, но то, что раскладка далеко не идеальна — факт. Факт также то, что разрабатывалась она для печати десятью пальцами на больших клавишах размещенных в три ряда.

В неизменном виде она перекочевала на электрические пишущие машинки, а затем и на компьютерные клавиатуры, где все стало ещё удобнее — теперь клавиши срабатывали от легкого нажимания, и по ним не приходилось лупить со всей дури.
Все было бы просто отлично, если бы не страсть к минимизации. Ноутбуки, нетбуки, классические смартфоны (не «тачфоны») — QWERTY-клавиатура стремительно уменьшалась в размерах, сохраняя при том свою сущность. Для некоторых таких творений впору вести набор спичками. Были и неплохие инженерные решения — например на Sony-Ericsson M600i клавиши-качели содержали по две-четыре символа, и они выбирались в зависимости от способа нажима.

Но когда это добро перекочевало на экраны… возьмем в качестве образца айфон(да, исторически первым [массовым] тачфоном все-таки было яблоко): три с половиной дюйма диагонали, отношение сторон — 2:3. Кто помнит теорему Пифагора, какова ширина экрана?
x² + (3x/2)² = 3,5²
x² = 49/13
x ≈ 1,94" ≈ 49,3мм.
Итак, ширина экрана — меньше 5 сантиметров. В ряду — 10 клавиш. Получается — около 5 мм на клавишу, и это включая промежутки между ними. Не знаю как у вас, а меня пальцы ощутимо шире, да и печатать на приборе таких размеров я могу только одним, ну максимум двумя большими пальцами одновременно. Ну не могу я печатать на ЭТОМ, при всей его умности! Хватит обратной совместимости! Я печатать вслепую научился за неделю, так дайте мне клавиатуру, где не придется целится в клавиши! Я её изучу! Я хочу комфортно и быстро печатать!

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

Их я и попытаюсь сегодня осмотреть.
Читать дальше →
Total votes 161: ↑148 and ↓13+135
Comments157

Кадры решают всё или о биче современных компаний

Reading time18 min
Views132K
image
Хотелось бы немного рассказать о тех ошибках, которые очень опасно совершать особенно сейчас, особенно в странах или городах золотого миллиарда. Думаю каждый работающий или сталкивающийся с деятельностью большой или не очень компании (или гос структуры) как и я удивляется на сколько же всё не эффективно и поражается как при таком раздолбайстве и пофигизме шестерёнок машина всё еще работает.
Читать дальше →
Total votes 139: ↑102 and ↓37+65
Comments67

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №121 (18 — 24 августа 2014)

Reading time6 min
Views37K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments3

50 лучших цитат про Linux

Reading time5 min
Views110K
Доброго дня!

Наверное, многим известно, что 25 августа — день рождения Linux. Именно сегодня, 23 года назад, Линус Торвальдс отправил свое знаменитое письмо. В этот знаменательный день я хотел бы порадовать русскоговорящее сообщество переводом подборки цитат, которого, как выяснилось, до сегодняшнего дня в полном объеме не существовало.
Под катом — кладезь мудрости, сарказма, иронии и косяков перевода. Добро пожаловать!
Читать дальше →
Total votes 149: ↑126 and ↓23+103
Comments115

Добро пожаловать в лагерь цифровой детоксикации! Никаких телефонов!

Reading time3 min
Views17K
Лагерь Grounded позволяет взрослым пережить летние деньки в летнем лагере, но только после того, как они сдадут все свои цифровые устройства.

image
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments39

Как сделать что-либо, когда не хочется — а надо

Reading time4 min
Views202K
Ужасно не люблю выражение «заставить себя». По моему убеждению, нельзя заставить себя — с собой можно только договориться. Ну, или обмануть — но это не лучший выход.
Итак, как договориться с собой сделать что-то, что совершенно явно не хочется делать? И настолько же явно необходимо.
Некоторое время назад я прочёл в блоге психолога Хайди Халворсон о трёх простых причинах, которые мешают нам что-то делать, и таких же (ну, почти) простых решениях этих проблем. И поскольку время показало, что решения (по крайней мере, мне) подходят — спешу поделиться ими.

Итак, почему же дедлайн близится, а решения всё нет?
Читать дальше →
Total votes 71: ↑53 and ↓18+35
Comments27

Как и зачем я решил начать собственное дело

Reading time8 min
Views190K
Салют, Хабр!
Недавно я уволился с довольно завидной должности (главного архитектора) в довольно неплохой компании (Acronis) и с непоколебимым решением в мозгу больше не работать по найму переехал из Москвы обратно в Ереван, откуда семь лет назад понаехал в Златоглаво-Нерезиновую. Учитывая необычность произошедшего и часто задаваемый вопрос «но почему?!», я решил разобраться в собственных мыслях и озвучить их вслух для себя самого и тех, кто может почерпнуть в моих размышлениях что-то для себя полезное. Короче говоря, это рассказ о том, почему я оставил высокооплачиваемую перспективную работу в международной компании ради сомнительной перспективы начать собственное дело, и как я собираюсь дальше жить.
Читать дальше →
Total votes 321: ↑291 and ↓30+261
Comments418

Самый крутой системный блок для PC (сделай сам)

Reading time5 min
Views780K
Добрый день, хабровчане. Большое спасибо за инвайт! И хотя начинать с перевода чужих постов — не самая хорошая идея, возможно, этот проект самоделки еще кому-то покажется мега-крутым.



Это перевод поста с форума Оverclock.net. Пользователь Show4Pro решил вытащить все внутренности своего супер компа и повесить все на стену. Прекрасная идея прекрасно реализована. Кому интересно, как это собиралось и как это работает — велкам под кат.
Читать дальше →
Total votes 301: ↑285 and ↓16+269
Comments126

Масштабируя Zabbix

Reading time11 min
Views152K
Zabbix logoТех, кто использует или собирается использовать Zabbix в промышленных масштабах, всегда волновал вопрос: сколько реально данных сможет Заббикс «переварить» перед тем как окончательно поперхнется и подавится? Часть моей недавней работы как раз касалось этого вопроса. Дело в том, что у меня есть огромная сеть, насчитывающая более 32000 узлов, и которая потенциально может полностью мониториться Заббиксом в будущем. На форуме давно идут обсуждения о том, как оптимизировать Zabbix для работы в больших масштабах, но, к сожалению, мне так и не удалось найти законченное решение.

В этой статье я хочу показать, как я настраивал свою систему, способную обрабатывать реально много данных.
Подробности
Total votes 45: ↑45 and ↓0+45
Comments39

Восстановление убитых MBR и таблицы разделов

Reading time4 min
Views432K

0. Intro.


Ситуация следующая. Есть винт на 160Гб. На нем 2 раздела — 40Гб и 120Гб. С целью установки убунты как второй системы была произведена разбивка 120Гб -> 100+10+2+8.

Далее, с целью отката изменений, были объединены диски (10, 2 и 8) обратно в один 20Гб и отформатирован в NTFS. В нагрузку к этому, были проведены операции с MBR, результатом которой явилась ее смерть.

Итоги

1. При загрузке системы выводится сообщение MBR helper not found;
2. fdisk показывает один большой 160Гб диск.

Дураку понятно, что это начало веселой ночи.
Далее, под катом, решения вопроса.
Читать дальше →
Total votes 91: ↑78 and ↓13+65
Comments35

Теория цвета в цифрах

Reading time3 min
Views199K
Разные люди могут по-разному представлять один и тот же цвет по его названию. Например голубой цвет может на самом деле быть цветом морской волны или небесным. Гораздо точнее цвет определяется шестнадцатеричным кодом, всего существует 16777216 комбинаций. Поэтому дизайнеру может быть полезно распознавать цвет, просто взглянув на его hex-код.

Основы


Начнем с простого: рассмотрим обычный hex-код, где каждая из трех пар цифр контролирует один из цветов RGB — красный, зеленый, синий. Числа могут принимать значения цифр от 0 до 9 и букв от A до F.

Читать дальше →
Total votes 161: ↑127 and ↓34+93
Comments25

Семь навыков профессионального программиста

Reading time3 min
Views182K
Каждый год мы обучаем под свои проекты и набираем в команду студентов. Хантим, конечно, не всех. «Мы на работу ходим, а нам деньги плотют» — это точно не к нам. За «звездами» тоже не охотимся. Ищем в первую очередь тех, кто хочет расти, развиваться, становиться «звездой», а мы можем им в этом помочь.

Одна из проблем нашего высшего образования в том, что в вузах учат много чему, и алгоритмам, и языкам программирования, и ООП, и даже паттернам проектирования. Но я еще ни разу не встречал, чтобы в вузах учили работать работу. Лабораторки не в счет. Спихнул – и забыл! Возможно, просто не везло.

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

Итак, про семь навыков…

Читать дальше →
Total votes 111: ↑83 and ↓28+55
Comments68

Стартапер «С нуля», мой опыт, истории успехов

Reading time19 min
Views84K
Свой текущий стартап я запустил в марте 2012. До этого я занимался предпринимательской деятельностью в вебе с 1999 года. Я начинал в г. Кривой Рог, Украина. Допотопную телефонную линию, на которой периодически висели беседы неизвестных мне людей, мог пробить только модем USRobotics. С его помощью можно было попасть в магический мир — лучик надежды посреди тотальной бесперспективности.

С тех пор мне удалось поэкспериментировать с запусками десятков трех проектов, которые, обрастая опытом, плавно перетекали друг в друга, превратившись в 6 прибыльных проектов.
Читать дальше →
Total votes 166: ↑123 and ↓43+80
Comments144

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity