Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Как я чинил интерактивный логин, или Что там в кишках у //chrome/test/ChromeDriver?

Блог компании JUG Ru GroupJavaScriptJavaC++Тестирование веб-сервисов

Эта статья возникла из-за одной моей ошибки и двух багов — по одному в Chromium Headless и ChromeDriver. В результате пришлось собрать всё это из исходников (в статье есть подробнейшая инструкция), отладить цепочку взаимодействия Selenium<->ChromeDriver<->Chromium в отладчике IntelliJ IDEA и Microsoft Visual Studio, покопаться в Java, C++ и JS.


Статья будет интересна тем, кто хочет понять, чем им грозит переход на Selenium + Headless Chrome и как с этим жить. А также всем, кто просто хочет немного поглумиться над несчастным быдлокодером.


Под катом есть пачка скриншотов (трафик!).




Кстати, всё это можно было бы сделать скринкастом — но нельзя, потому что время компиляции C++ необычайно долгое. Вместо этого тут будут скриншоты для привлечения внимания.


Вначале напомню названия участвующих продуктов. Их три штуки:


  • Chromium — это браузер. Небрендированная версия Google Chrome, без автообновлений, анальных следящих зондов, но и без несвободных компонентов типа кодеков.
  • Chromium ChromeDriver — это часть Chromium, которая отвечает за управление им с помощью внешних инструментов. Это standalone фронт-сервер (отдельный exe-файл), реализует стандарт W3C WebDriver и использует в качестве бэкенда Chrome DevTools.
  • Selenium и его Selenium Chrome Driver — эта штука предоставляет Java API для управления Хромиумом. Джава тут не принципиальна, на JavaScript и jWebDriver было бы то же самое (а на Puppeteer — возможно, нет, ибо он использует DevTools напрямую).

Всё вместе даёт нам в руки браузер, управляемый с помощью API на Java, JavaScript и так далее.


Вспомнили? Поехали дальше.

Читать дальше →
Всего голосов 72: ↑68 и ↓4+64
Просмотры17K
Комментарии 7

Метод прогрессивного Гейзенбага

Блог компании JUG Ru GroupТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийТестирование игр

В этом посте я расскажу:


  • о текущем статусе конференции Heisenbug 2018 Piter;
  • о том, как правильно писать периодические анонсы на Хабр;
  • о небольшом лайфхаке, как рисовать картинки с прогрессивным JPEG в стиле Тёмы Лебедева.

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



Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Просмотры4.2K
Комментарии 5

TOП-10. Разбор лучших докладов в свободном доступе. Heisenbug 2017 Moscow

Блог компании JUG Ru GroupТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийТестирование игр

Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов, делаю краткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке увеличения рейтинга — то есть в самом низу будет самый крутой доклад. Оценки — это не лайки на YouTube, а собственная оценочная система, она круче лайков.


Предыдущие части: JBreak 2017, JPoint 2017 (обе конференции были про Java).


На этот раз объектом изысканий будет Heisenbug 2017 Moscow — известная конференция для тестировщиков (а также программистов и менеджеров команд, как написано на главной странице сайта).


В посте присутствует зашкаливающее количество картинок и ссылок на YouTube. Осторожно, трафик!


Disclaimer: Все описания являются моим личным мнением. Всё написанное является плодом моего больного воображения, а не искажёнными цитатами докладчиков (это предостережение написано для того, чтобы докладчики меня не побили). Если кого-то случайно обидел — пишите в личку, разберёмся. Но в целом, давайте думать так: если бы BadComedian каждый раз спрашивал у Фонда Кино, что ему стоит говорить или не говорить — снял бы он хоть один ролик?

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Просмотры15K
Комментарии 3

Машина времени на Java

Блог компании JUG Ru GroupТестирование IT-системJavaТестирование веб-сервисов
Перевод

В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами под тэгом #javalifehacker. Сегодня речь пойдёт о time-test, в котором всего 16 коммитов, но их хватает. Автор библиотеки — Никита Коваль, и это перевод его статьи, изначально написанной для блога Devexperts.


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




Вот простейший метод, считающий количество дней до конца света:


fun daysBeforeDoom() {
    return doomTime - System.currentTimeMillis()) / millisInDay
}
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Просмотры13K
Комментарии 9

Масштабирование Selenium

Блог компании JUG Ru GroupТестирование IT-системJavaТестирование веб-сервисов

Представьте, что у вас есть всего один тест с использованием Selenium. Что может сделать его нестабильным? Как его ускорить? Теперь представьте, что тестов стало два. Теперь представьте сотню. Как заставить быстро отработать такую кучу тестов? Что произойдет, если количество тестов продолжит расти?


В этой статье Саймон Стюарт проведет нас по нелегкому пути масштабирования, от одного теста до параллельно исполняющихся сотен тестов. Мы познакомимся и с проблемами, которые при этом появляются, и с практическими методами решения этих проблем. Будет код на Java и некоторые мысли о развитии тестовой инфраструктуры.



Прототипом этой статьи является доклад Саймона Стюарта на Heisenbug 2017 Moscow. Саймон — создатель WebDriver, технологии, которой сейчас почти 11 лет. Он стал руководителем проекта Selenium около 9 лет назад. В Google занимался масштабированием Selenium, от нескольких десятков тысяч до нескольких миллионов тестов каждый день, на их инфраструктуре. Затем перешел в Facebook. В данный момент занимается разработкой спецификации WebDriver для W3C, которая входит в группу тестирования и тулинга в W3C. Можно сказать, что на основе WebDriver и создается стандарт.

Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Просмотры13K
Комментарии 6

Интерфейсы: как сообщать пользователю, если «Упс, что-то пошло не так»

Блог компании JUG Ru GroupВеб-дизайнИнтерфейсыUsabilityТестирование веб-сервисов
Здесь вы не увидите ни строчки кода. Мы поговорим об обычных людях — о наших пользователях, точнее о том, как сообщать им, если в системе возникла какая-то непредвиденная ситуация.


В основе статьи доклад Антонины Хисаметдиновой с Heisenbug 2017 Moscow, которая занимается проектировкой пользовательских интерфейсов в компании Собака Павлова.

Кроме того, на Медиуме есть цикл статей «Руководство по проектированию ошибок». Цикл еще не дописан до конца, но дает более полную и цельную картину по теме статьи.
Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Просмотры36K
Комментарии 11

Смысл тестирования — в процессе, а не в оставшихся артефактах. Майкл Болтон и Rapid Software Testing

Блог компании JUG Ru GroupТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийКонференции

В среде ИТ есть свои легенды, чьи имена знает сегодня чуть ли не каждый и чьи (что важнее) достижения в профессии показали другим новый путь к развитию. Одной из таких фигур для мира тестирования ПО был и остается Майкл Болтон, которого мы ждем на ближайшем Heisenbug 2018 Piter. В этой статье мы поговорим о Rapid Software Testing, о Майкле и его докладах.



Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Просмотры12K
Комментарии 7

Обзор программы Heisenbug 2018 Piter

Блог компании JUG Ru GroupТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийКонференции


Конференция: Heisenbug 2018 Piter
Дата: 17-18 мая 2018 года
Место: Санкт-Петербург, гостиница «Park Inn by Radisson Пулковская»
Всего две недели осталось до нашего следующего Heisenbug. Над программой и докладами была проведена колоссальная работа, о которой мы расскажем под катом.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Просмотры4.9K
Комментарии 0

Ваши A/B-тесты сломаны

Блог компании JUG Ru GroupТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийКонференции
После того, как вы проверили, что функциональность реализована нормально, она выкатывается в эксперимент, чтобы узнать, нравится ли новая версия пользователям.

Замечали, что обычно люди, ответственные за эксперименты, в итоге говорят, что данных недостаточно для решения? Часто это действительно так, но нередко всё дело в поломках системы экспериментов и учёта пользовательской статистики.
 
В этой статье мы рассмотрим типичные поломки, которые там встречаются, и у вас появится возможность, вернувшись на рабочее место, немножко побыть data scientist'ами и найти ошибки у себя в компании. Какие-то из них там наверняка есть.

В основе материала — расшифровка доклада Романа Поборчего с нашей декабрьской конференции Heisenbug 2017 Moscow.


Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Просмотры14K
Комментарии 10

Инструменты тестировщика

Блог компании JUG Ru GroupТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийКонференции
Какие инструменты нужны тестировщику? Об этом мы сегодня порассуждаем в этой статье, в основе которой — доклад Юлии Атлыгиной с прошлого Heisenbug. Видеозапись доклада доступна по ссылке.


Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Просмотры92K
Комментарии 8

Открытая бесплатная трансляция конференции по тестированию — Heisenbug 2018 Piter

Блог компании JUG Ru GroupТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийКонференции


Конференция: Heisenbug 2018 Piter
Дата: 17-18 мая 2018 года
Место: Санкт-Петербург, гостиница «Park Inn by Radisson Пулковская»
Посмотреть трансляцию онлайн можно по этой ссылке
Heisenbug 2018 Piter состоится уже послезавтра. Главный зал конференции будет бесплатно транслироваться на YouTube. Как попасть на трансляцию и что там будет, мы расскажем под катом.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Просмотры4.1K
Комментарии 2