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

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

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

Единственно верный способ загружать и скачивать файлы в Selenium тестах

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

image


Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно загрузить или скачать какой-либо файл. После нажатия кнопки "Загрузить" или "Скачать", поверх окна браузера появляется окно файлового менеджера операционной системы к которому Selenium уже не имеет доступа. Тест останавливается.


Я слышал рекомендации использовать утилиты типа AutoIt или Sikuli для работы с такими системными окнами. Мой совет — никогда так не делайте, это порочная практика, которая приводит к нестабильным тестам:


  • Такое решение не кросс-платформенное. Приходится изобретать свой велосипед для каждой новой операционной системы.
  • Хрупкое. Нет гарантии, что скрипт будет работать корректно если на машине открыто несколько браузеров.
  • Это делает невозможным использование headless режима браузера

Меня зовут Ярослав Пернеровский. Я уже 15 лет в тестировании и около 8 лет в автоматизации. Сейчас я расскажу как нужно правильно обрабатывать такие ситуации.

Читать дальше →
Всего голосов 14: ↑12 и ↓2+15
Комментарии17

Особенности национального распознавания образов

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

«Когда я слышу про распознавание образов, я никогда не спрашиваю, хорошие там алгоритмы или плохие. Я спрашиваю только, отличают ли они мотоцикл от трактора.» ©
Читать дальше →
Всего голосов 125: ↑119 и ↓6+113
Комментарии196

15 тривиальных фактов о правильной работе с протоколом HTTP

Время на прочтение7 мин
Количество просмотров234K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →
Всего голосов 191: ↑186 и ↓5+181
Комментарии120

50 подкастов на тему технологий и управления проектами

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


Мы подготовили адаптированную подборку из 50 подкастов (на русском и английском), призванных поспособствовать развитию вашего стартапа или карьеры. В нашем списке вы найдете передачи о продуктивной работе, наиболее частых ошибках начинающих предпринимателей, историях успеха и многом другом.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии12

Разработка кросс-браузерных расширений

Время на прочтение5 мин
Количество просмотров10K
В своей прошлой статье, я упомянул о выпуске браузерного расширения для Google Chrome, который способен повысить эффективность поиска, за счет предоставления релевантной информации из статей понравившихся вам в социальных сетях.

На сегодня мы поддерживаем 3 главных браузера Chrome, Firefox и Safari, причем, не смотря на разницу платформ, все собираются из одной кодовой базы. Я расскажу, как это было сделано и как упростить себе жизнь разрабатывая браузерные расширения.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии9

Что такое VPS и с чем его едят – инфографика о виртуальных серверах

Время на прочтение1 мин
Количество просмотров31K
Вот такая инфографика по снятию ведра с головы в вопросах хостинга была опубликована в блоге у хостера VPS.ua.
Внимание, трафик 1,8 МБ
Всего голосов 134: ↑106 и ↓28+78
Комментарии51

Знакомимся с DynamicObject

Время на прочтение7 мин
Количество просмотров15K
Каждый раз, когда у вас появляется новая интересная фича в языке, всегда появляются люди которые начинают выжимать из фичи максимум. DynamicObject – это как раз такая фича, которая кажется простой и понятной, но в шаловливых ручках становится более опасной затеей.
Читать дальше →
Всего голосов 82: ↑64 и ↓18+46
Комментарии35

Как распознать кракозябры?

Время на прочтение1 мин
Количество просмотров426K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Всего голосов 429: ↑418 и ↓11+407
Комментарии64

Юникод для чайников

Время на прочтение8 мин
Количество просмотров326K
logo
Сам я не очень люблю заголовки вроде «Покемоны в собственном соку для чайников\кастрюль\сковородок», но это кажется именно тот случай — говорить будем о базовых вещах, работа с которыми довольно часто приводить к купе набитых шишек и уйме потерянного времени вокруг вопроса — «Почему же оно не работает?». Если вы до сих пор боитесь и\или не понимаете Юникода — прошу под кат.

Читать дальше →
Всего голосов 121: ↑115 и ↓6+109
Комментарии53

Информация

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