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

qa

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

JavaScript, Node, Puppeteer: автоматизация Chrome и веб-скрапинг

Время на прочтение10 мин
Количество просмотров144K
Библиотека puppeteer для Node.js позволяет автоматизировать работу с браузером Google Chrome. В частности, с помощью puppeteer можно создавать программы для автоматического сбора данных с веб-сайтов, так называемые веб-скраперы, имитирующие действия обычного пользователя. В подобных сценариях может применяться браузер без пользовательского интерфейса, так называемый «Headless Chrome». Используя puppeteer, можно управлять и браузером, который запущен в обычном режиме, что особенно полезно при отладке программ.

image

Сегодня мы поговорим о создании веб-скрапера на базе Node.js и puppeteer. Автор материала стремился к тому, чтобы статья была интересна как можно более широкой аудитории программистов, поэтому пользу из него извлекут как те веб-разработчики, которые уже имеют некоторый опыт работы с puppeteer, так и те, которые впервые сталкиваются с таким понятием, как «Headless Chrome».
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии13

Запись видео UI автотестов, работающих в headless Chrome

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

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

Постановка задачи

  1. Тесты выполняются под Windows
  2. Тесты используют Selenium Web Driver + Headless Chrome
  3. Тесты запускаются в несколько потоков

Для упавших тестов нужно сохранить видео, при этом

  1. Время выполнения должно вырасти не более чем на 10%.
  2. Обойтись минимумом изменений в текущей имплементации

Если интересно решение, добро пожаловать под кат.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии12

OWASP TOP-10: практический взгляд на безопасность веб-приложений

Время на прочтение11 мин
Количество просмотров198K
Хабр, привет! Мы — Иван Притула и Дмитрий Агапитов, занимаемся разработкой решений, которые делают жизнь людей проще и комфортнее. Сегодня мы хотим представить один из наших новых сервисов – это платежный агрегатор SimplePay. Все что мы делаем продиктовано мучительной невозможностью мириться с несовершенством в целом, и несовершенством конкретных программных решений в частности. Именно в погоне за совершенством и рождаются наши продукты. Стараемся мы изо всех сил, а уж насколько мы близки, судить не нам.

Чтобы Всем было интереснее, мы не будем рекламировать свой сервис (ну если только чуть-чуть). Вместо этого, мы подготовили первую серию публикаций, которая будет посвящена такой увлекательной и крайне актуальной теме, как безопасность Web-приложений. Мы постараемся раскрыть опасности, сопутствующие любому действующему интернет-проекту и простым языком донести всю важность ответственного подхода к рутинным, казалось бы, мелочам в вопросах безопасности данных. Надеемся наши статьи будут не бесполезны для Вас. Уверены, так Вы узнаете нас гораздо лучше.
Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии7

Burp Suite: швейцарский армейский нож для тестирования веб-приложений

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

 
Burp Suite – это мультитул для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует магазин дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. Стоит отметить и появление в последнем релизе мобильного помощника для исследования безопасности мобильных приложений — MobileAssistant для платформы iOS.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии2

Проекты на JavaScript для ознакомления

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


Доброго времени суток, друзья!

Представляю вашему вниманию подборку из 22 проектов на чистом или, как еще говорят, ванильном JavaScript (лично я предпочитаю просто JavaScript).

Для меня это своего рода промежуточный итог в изучении JS.

Код написан в разное время, поэтому выглядит по-разному и имеет разный уровень сложности.

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

Код проектов находится ЗДЕСЬ.

Формат будет следующим: название проекта, его краткое описание, песочница.

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

Итак, поехали.
Всего голосов 6: ↑4 и ↓2+4
Комментарии0

Создание CI/CD-цепочки и автоматизация работы с Docker

Время на прочтение15 мин
Количество просмотров53K
Я написала мои первые сайты в конце 90-х. Тогда приводить их в рабочее состояние было очень просто. Был Apache-сервер на каком-нибудь общем хостинге, на этот сервер можно было войти по FTP, написав в браузерной строке нечто вроде ftp://ftp.example.com. Потом надо было ввести имя и пароль и выгрузить файлы на сервер. Другие были времена, всё тогда было проще, чем сейчас.



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

Для моего персонального проекта у меня была особая конфигурация. И я знала, что мне нужна возможность разворачивать сайт в продакшне, выполняя всего одно действие: запись кода в ветку master на GitHub. Я, кроме того, знала, что мне, для обеспечения работы моего маленького веб-приложения, не хочется заниматься управлением огромным кластером Kubernetes, или пользоваться технологией Docker Swarm, или поддерживать парк серверов с подами, агентами и всякими другими сложностями. Для того чтобы достичь цели по максимальному упрощению работы, мне понадобилось познакомиться с CI/CD.

Если у вас имеется маленький проект (в нашем случае речь идёт о Node.js-проекте) и вам хотелось бы узнать о том, как автоматизировать развёртывание этого проекта, сделав при этом так, чтобы то, что хранится в репозитории, в точности соответствовало бы тому, что работает в продакшне, то, полагаю, вас может заинтересовать эта статья.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии4

Даже web ресурсы известных организаций не защищены от детских ошибок

Время на прочтение3 мин
Количество просмотров14K
Disclaimer. Все события происходили в 2017 году. Обо всех указанных в статье уязвимостях было сообщено представителям компаний в кратчайшие сроки с момента их обнаружения. Некоторые ресурсы, на 2019 год, были полностью обновлены (frontend и backend).
Статья носит сугубо информационно-образовательный характер.


Пробегая по старым папкам, наткнулся на сохраненные скриншоты, которые делал для представителей пары небезызвестных компаний на нашем финансово-IT рынке.
Все началось с того, что я решил сменить профиль работы и попробовать себя в QA или смежной профессии, только уже не самоучкой-одиночкой, а заняться этим в штате какой-нибудь крупной организации, чтобы было у кого перенять опыт, поработать в команде…

После размещения резюме, со мной пересекались Сбербанк-Технологии, Банк Открытие о которых и пойдет небольшое повествование.

После приглашения пообщаться, я решил посмотреть, что же живет на доменах компаний, на предмет интересных уязвимостей. Всегда приятно иметь козырь в рукаве на переговорах.
Читать дальше →
Всего голосов 51: ↑46 и ↓5+41
Комментарии18

Разворачиваем автоматизацию за пару часов: TypeScript, Protractor, Jasmine

Время на прочтение10 мин
Количество просмотров36K
Привет, Хабр!

Меня зовут Виталий Котов, я довольно много занимаюсь автоматизацией тестирования и мне это нравится. Недавно я участвовал в проекте по настройке автоматизации «с нуля» на стеке TypeScript + Protractor + Jasmine. Для меня этот стек был новым и необходимую информацию я искал на просторах интернета.

Самые полезные и толковые мануалы мне удалось найти только на английском языке. Я решил, что на русском тоже надо такой сделать. Расскажу только основы: почему именно такой стек, что надо настроить и как выглядит самый простой тест.

Сразу оговорюсь, что довольно редко работаю с NodeJS, npm и в целом с серверным JavaScript (тем более с TypeScript). Если где-то найдете ошибку в терминологии или какое-то из моих решений можно улучшить — буду рад узнать об этом в комментариях от более опытных ребят.

К слову, у меня уже была подобная статья: «Разворачиваем автоматизацию за пару часов: PHPUnit, Selenium, Composer».


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

Информация

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