Pull to refresh

Comments 13

Люблю подобный нейминг :)
в пещере горного короля. и увеличивать скорость и количество нажатий
Вот так уедешь в отпуск, а они напишут Войну и мир.
Иногда наталкиваюсь на некоторые произведения при чтении которых складывается впечатление, что гремлины уже давно заняты сочинительством.
Главное, чтобы эти гремлины не захватили ваше приложение.
А что с переходами между страницами? У меня есть сайт, который косит под веб-приложение, но возможны выходы (и переходы внутри) по href. Библиотека под такое заточена? Лог ошибок единый или сбросится при покидании страницы (имеется в виду имплементация по умолчанию)?
У себя решил эту проблему переопределением метода, который отвечает за переходы по страницам, и теперь в тестовом энвайроменте редирект в принципе не возможен. По умолчанию библиотека под это не заточена, и лог сбрасывается перед каждым запуском тестов (в вашем случае при переходам по страницам).

Как решение могу предложить переопределить объект логера, и сохранять лог например в localStorage, тогда при завершении тестов, сможете лог достать оттуда.

Второй вариант — запускать тесты в фантоме с помощью grunt-gremlins, где есть доступ к файловой системе. Сейчас логирования в файл еще нет, но появится в ближайшее время, так же в планах удобный менеджмент логирования для разных подзадач.
Спасибо за ответ, попробую использовать скрипт. Наверное, сначала тупо погоняю одностраничные приложения, из которых состоит сайт, запретив переход по href в тестовом окружении, как Вы и написали.
Поясните пожалуйста, каким образом генерируется дефолтное событие клика на элементе? Или библиотека парсит мой код, вытаскивает все функции и целенаправленно вызывает callback`и?
Библиотка не знает ничего о вашем коде, событие клика генерируется слчайным образом, с помощью объекта, полученного вызовом document.createEvent("MouseEvents"). Это значит, что эффект будет примерно тот же, что и от случайного клика (или dblclick, mousedown и т.д.) реальной мышью пользователя в какой либо участок экрана.

Вы можете сконфигурировать этого гремлина, указав в какую именно область экрана гремлин должен кликать (метод positionSelector), с какими именно элементами он может работать (canClick) и какие типы эвентов он должен генерировать (см. по умолчанию)
На самом деле document.createEvent(«MouseEvents») не всегда сможет эмулировать действия пользователя. Например, клик внутри ифрейма не прокатит (если у вас, конечно, нет доступа к его document). Или вам такие образом не обмануть мобильный браузер, чтобы автоматом запустить, к примеру, HTML5 video. Думаю, что есть еще достаточное количество ситуаций, когда document.createEvent(«MouseEvents») будет бессилен эмулировать действия человека.
Но, тем не менее, мне эта свора нравится.
Sign up to leave a comment.

Articles