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

Python. Developer/QA Automation.

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

Как я перестал бояться и полюбил автоматизацию мобильных приложений — Robot Framework

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

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

Это, конечно, не так. Я предлагаю вам познакомиться с Robot Framework — инструментом, который позволит писать автотесты, даже если у вас не было никакого опыта программирования.

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

Selenium. Автоматизация тестирования календаря (Datepicker)

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

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

Ответом IT-сообщества, было появлению множества инструментов для тестирования PHPUnit, Selenium, Pytest, Unittest, AssertJ. Инструменты позволили сосредоточить на том что тестируем и минимальными затратами на разработку теста. Развитие области автоматического тестирования, тестовые кейсы можно описать в виде небольших скриптов, с помощью тестовых фреймворков. Такие тесты, разработчики могут запускать в любой момент своей работы, чтобы поддерживать качество продукта. Для автоматизации тестирования веб-приложений применяется Selenium и его производные.

Selenium - это проект с открытым исходным кодом. Проект является “зонтичный” - собирательным, потому что в его состав входят множество независимых компонентов Selenium WebDriver, Selenium Grid, Selenium Server, Selenium IDE и т.д. Но в сообществе, когда говорят “Selenium”, часто подразумевают Selenium WebDriver.

Автотесты применяются на различных уровнях ПО. Автотестами можно проверить работу функции, модуля программы или набора модулей. Для систематизации понятий тестов, Майк Кон придумал абстракцию, которая группирует тесты по уровню детализации и назначению. Назвал ее пирамидой тестирования и описал в книге «Scrum: гибкая разработка ПО». С Selenium WebDriver специалист, может разрабатывать end-to-end тесты - которые находятся на вершине пирамиды тестирования. End-to-end тесты - проверяют полную работу системы и имитируют действия пользователя. Но как сделать такой автотест для веб приложения?

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

Большая подборка ресурсов и сообществ для тестировщика

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

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

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

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

Организация автоматического запуска автотестов с использованием Downstream pipelines в GitLab CI

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

Привет, Хабр! Меня зовут Андрей, я SDET-разработчик SimbirSoft. В практике CI/CD один из общепринятых стандартов — настройка автоматического запуска автотестов при деплое сервиса на стенды. То есть при запуске сборки мы сразу видим, как пройдут смоук-автотесты, и на основе отчета решаем, передавать сборку дальше QA-команде или дорабатывать. А скорость исправления ошибок критично важна для бизнеса.

Мы разберем автоматический запуск автотестов с использованием Downstream pipelines в GitLab CI на примере проекта с несколькими микросервисами.

Читать далее
Рейтинг0
Комментарии0

Готовимся к первому собеседованию: что повторить и как настроиться тестировщику без опыта

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

Случилось чудо! Спустя сотни откликов вас позвали на первое собеседование на роль тестировщика. Что делать? Не паниковать — тревога и беспокойство ещё никому не помогли, скорее наоборот. Лучше порадуйтесь: скрининг резюме уже пройден, и это отлично — значит, вами уже заинтересовались! И помните, что вы идёте не на экзамен, где вас хотят «завалить», а на встречу к будущим коллегам.

На связи код-ревьюер на курсе «Инженер по тестированию», ментор тестировщиков в Мастерской программирования и руководитель соревновательных видов IT-практики в Яндекс Практикуме Кристина Пауэр, и я помогу вам подготовиться к первому собеседованию в IT.

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

В закладки тестировщика-автоматизатора: от базовых правил для написания быстрых автотестов до полезных плагинов Pytest

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

Привет, Хабр! Принесли полезный контент для всех, кто пишет автотесты на Python. В подборке — видео докладов с последнего AQA-митапа: о плагинах Pytest, архитектуре автотестов для продукта на open source-движке, а также о критериях понятных тестов (и как их соблюдать на практике). Материалы будут полезны как начинающим, так и опытным AQA-инженерам. Под катом — все видео и ответ на вопрос, зачем это смотреть, от гостей митапа.

Смотреть доклады →
Всего голосов 10: ↑9 и ↓1+10
Комментарии0

«Меня увольняют» или манипуляции HR и менеджеров, чтобы вынудить вас уволиться одним днём. На примере Рольфа

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

Вкратце, для тех, кто ещё не слышал о новом скандале на IT рынке: Крупнейший автомобильный дилер «‎Рольф» увольняет айтишников без компенсаций.

В профсоюз обратились несколько сотрудников из компании и описали происходящее: +- 50 человек решили уволить потому что для них нет работы. Сотрудников по одному вызывали в кабинет где сидели 4 коллеги и рассказывали им о жизни, понятиях и отношениях: «ну мы же как семья». Всё ради того, чтобы получить подпись в соглашении о расторжения трудового договора одним днём. Без каких либо выплат. Спойлер — почти все сотрудники повелись на манипуляции и их уже уволили.

И что там дальше?
Всего голосов 171: ↑166 и ↓5+196
Комментарии198

Умные настройки Chrome для стабильной автоматизации тестов

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

Привет!

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

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

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика

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

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

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

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

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория

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

Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся всем, кто ищет инструменты для создания тестового фреймворка и расширения его возможностей под свои задачи. 

Я расскажу, как можно разрабатывать свои плагины для тестового фреймворка, построенного поверх Pytest. Для удобства чтения статья разделена на две части. В первой рассмотрю минимально необходимую теорию: фазы работы Pytest, а также пользу фикстур, маркеров и хуков. Во второй части перейду к практике: разберу два примера реализации плагинов из нашего фреймворка и затрону вопрос о том, когда стоит выносить код в отдельный плагин. 

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

Слушаем события в Selenium с помощью Listeners. Как реагировать на события без тонны кода

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

Привет!

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

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

Удобный CI/CD доступен каждому

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

Привет, Хабр! Недавно я выступал на Moscow Python Conf, где делился нашим опытом создания и использования CI/CD пайплайнов. В данной статье я расскажу об этих пайплайнах, раскрою их особенности и покажу, как они помогают нам быстро доставлять код и поддерживать высокий показатель Time To Market. Надеюсь, что наш опыт будет полезен и вам.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Open source бот для торгов на Binance. Часть 1

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

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

Для создания бота для api binance, который работает по стратегии усреднения, нам понадобится использовать следующие компоненты:

1. Binance API - это позволит твоему боту получать данные о балансах, ордерах, сделках и других событиях с биржи.

2. Python - это язык программирования, которым владеет большинство молочных (и я в том числе) фрилансеров мы его будем использовать для написания скрипта, который будет работать с Binance API.

3. Библиотеки Python - мы будем юзать библиотеки для Python, такие как ccxt, для работы с Binance API.

4. Алгоритм усреднения - ты можешь использовать любой алгоритм , но мы будем использовать его для определения цены покупки и продажи, а также для определения объема монет, которые бот должен докупить.

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

Подпишись, поставь плюс и читай
Всего голосов 12: ↑1 и ↓11-10
Комментарии7

Пишем АПИ автотесты на Python по шагам

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

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

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

Рисуем диаграммы Mermaid.js в README-файлах GitHub

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

14 февраля 2022 года GitHub объявила о старте нативной поддержки диаграмм Mermaid.js в README-файлах GitHub. Нововведение помогло быстрее и эффективнее оформлять блок-схемы и графики для документации. До этого диаграммы вставлялись в виде изображений и если содержимое менялось, то надо было сначала нарисовать новое изображение, а потом вставлять его. Сейчас же можно просто исправить несколько строк в коде и система сгенерирует новый график.

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

Вас сдаст Гитхаб: деанонимизация пользователей SSH-серверов

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

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

Читать далее
Всего голосов 71: ↑67 и ↓4+79
Комментарии153

Obsidian + Dataview: Таблицы

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

На статью меня вдохновил этот комментарий .

Dataview - это мощный плагин для Obsidian позволяющий отбирать данные (теги, даты, числа и любые другие пользовательские параметры) markdown-заметок, а затем их фильтровать и отбирать как пожелаешь.

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

На КДПВ как раз собраны четыре кейса реализации функционала плагина Dataview.

Как всё это работает

1. Dataview работает на встроенном языке запросов

2. Все запросы должны писаться внутри подобного блока кода:

А разбирать каждый кейс будем под катом.
Всего голосов 26: ↑26 и ↓0+26
Комментарии38

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

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

В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью Dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.

Погнали
Всего голосов 23: ↑20 и ↓3+19
Комментарии65

Эффективное изменение размера картинок при помощи ImageMagick

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

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

Множество инструментов занимается изменением размера, но слишком часто они выдают большие файлы, аннулирующие выигрыш в быстродействии, который должен приходить вместе с отзывчивыми картинками. Давайте рассмотрим, как при помощи ImageMagick, инструмента командной строки, быстренько изменять размеры картинок, сохраняя превосходное качество и получая файлы небольших объёмов.

Большие картинки == большие проблемы


Средняя веб-страница весит 2 Мб, из них 2/3 – картинки. Миллионы людей ходят в интернет через 3G, или ещё хуже. 2Мб-сайты в этих случаях работают ужасно. Даже на быстром соединении такие сайты могут израсходовать лимиты трафика. Работа веб-дизайнеров и разработчиков – упростить и улучшить жизнь пользователя.

image

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

ImageMagick


Утилита командной строки с 25-летним стажем в то же время является редактором картинок с полным набором функций. В ней огромная куча функций, и среди них – быстрое и автоматическое изменение размера картинок. Но с настройками по умолчанию файлы часто получаются излишне большими – иногда по объёму больше оригинала, хотя в них и меньше пикселей. Сейчас я объясню, в чём проблема, и покажу, какие настройки необходимы для её решения.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии11
1
23 ...

Информация

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