Pull to refresh

Comments 29

Отличная статья!
Скажите, а вы используете запуск тестов по расписанию? Может у вас есть какой нибудь CI, который запускает тесты и собирает отчеты о выполнении? Было бы интересно почитать о настройки такого окружения!
Было бы странно, если бы у Яндекса не было CI, поскольку нынче ну разве что для проекта <100 строк и команды из одного человека CI не поднимают.
Вы не дочитали вопрос:
Может у вас есть какой нибудь CI, который запускает тесты и собирает отчеты о выполнении?

Если вам интересно, вот тут мы подробно описали, как используем Jenkins для запуска Selenium-тестов и получения отчётов.

Правда, для запуска тестов используется внешний сервис, но что-то полезное для себя, может быть, найдёте.
Спасибо за ссылку, но все же мне интереснее CI в контексте данной статьи, то есть используя grid + node.js.
Есть надежда на то что мы сможем почитать о технических деталях запуска тестов через CI и предоставления отчетов в удобочитаемом виде?
Про отчеты мы уже частично писали — есть такая штука, как Allure.
Вообще говоря Jenkins используется во многих командах Яндекса.
Я немножко поигрался с PhantomJS + CasperJS, понравилось. Правда минус в том, что там только вебкит. А селениум может притвориться седьмым эксплорером к примеру?
Селениум/Вебдрайвер просто использует реальные браузеры. Для различных браузеров есть драйверы и при запуске тестов можно выбрать с каким браузером взаимодействовать
Мне на python писать вебдрайвер тесты было менее страшно, чем на node, хоть какая-то документация есть.

Исходный код — лучшая документация :)
Действительно, в исходном коде все достаточно подробно, с примерами. Асинхронность в вебдрайвере на node — клевая штука! Писал и на том, и на другом.
Мы в LinguaLeo решили проблему актуальности селекторов очень просто. Весь JS взаимодействует с DOM исключительно через data аттрибуты, а id'шники и классы только для верстальщиков.
P.S. Спасибо авторам за отличную статью.
Уважаемые сотрудники Яндекса. Пожалуйста загляните в свою официальную группу: clubs.ya.ru/api-yaru/ которая уже вся обросла спамом.

Больше месяца, а точнее с 14 февраля народ вам пишет, что отвалилось апи. Для начала можете заглянуть сюда: api-yaru.yandex.ru/
Ярушку же закопали в августе.
Я правильно понимаю, что для Selenium нужно на машине (пусть это Linux) иметь установенные X и бравсер, и в этом случае получится headless режим?
Да, но можете поставить xvfb. И одна важная особенность для Firefox в user.js в исспользуемом профиле
рекомендую прописать:
user_pref(«browser.sessionstore.enabled», false);
user_pref(«browser.sessionstore.resume_from_crash», false);
Иначе при падениях браузера могут появлятся неприятные эфекты при следующих запусках.
Их как раз и намереваюсь использовать. Видимо получится у меня красивый компот (Selenium и Casperjs+Phantomjs)
Хорошие библиотеки, и названия у них хорошие. Почему бы не использовать?
ну как бы про эти библиотеки пишут каждый день на разных ресурсах.
чаще твитайте и мониторьте интернет, удивитесь сколько совпадений будет -)
Хм, а как вышеописанная технология выявит такой баг (ранее встречался на хабре, придумал не я):
цвет надписи совпадает с цветом кнопки, и пользователь не видит куда нажать…
Можно использовать JS и брать цвет кнопки и текста на ней через getComputedStyle или currentStyle (в старых IE). Сравнивать можно не строго, а через алгоритм определения contrast ratio из WCAG 2.0. Еще можно делать скриншоты.
Данная технология тестирует функционал, а не визуализацию. Вы же не сможете автоматизировать приемку макета от дизайнера на предмет следовал он каким-то вашим просьбам/требованиям по дизайну или нет.
Могу еще посоветоветовать спецификации (например, для .NET я использовал SpecFlow ) для описания таких тестов. Большие сценарии становится намного проще и нагляднее.
Sign up to leave a comment.