Как игнорировать элемент который есть на эталонной странице и которого нет на тестируемой странице?
- Непонятно как игнорировать элемент который есть на эталонной странице и которого нет на тестируемой странице? Например, jivosite на profi.ru/profile/PopovAA3/ тег jdiv
Ошибка которую, получаю - Out of the bounds
2) Ещё один вопрос, который меня постоянно мучает: этот инструмент был создан для сравнения двух страниц, верно же? Тогда почему в конфигурационном файле нет строки, где мы могли бы прописать тестируемый хост?
К примеру так:
rootUrl: url1
testUrl: url2
Непонятно как игнорировать элемент который есть на эталонной странице и которого нет на тестируемой странице? Например, jivosite на profi.ru/profile/PopovAA3/ тег jdiv
https://github.com/gemini-testing/gemini/blob/master/doc/tests.md
посмотрите в сторону ignoreElements('.selector1', {every: '.selector2'}, ...)
- посмотри на ответ предыдущего оратора
- это инструмент для регрессионного тестирования верстки скриншотами. Простыми словами: у тебя есть сайт и сейчас на нем допустим отображается кнопка желтого цвета. Ты влил какие то изменения которые не должны были задеть эту кнопку, но задели и цвет изменился на зеленый. Gemini должен это отловить и предупредить тебя об этой проблеме.
А зачем тебе 2 урла? Тебе же не нужно сравнивать два сайта между собой. Тебе нужно сравнить, что после каких то изменений в коде какой то блок или страница выглядит так же само. Если это не так, ты смотришь дифф и если он валидный и теперь он должен выглядить именно так, то ты обновляешь эталон.
Надеюсь понятно объяснил. Если есть еще вопросы - задавай.
- Согласен с тобой полностью. Но я например внедрил у нас ваш инструмент в другом амплуа: Прилетела задача -> Запустился Gemini и сделал скрин на проде profi.ru/sport/ -> тут же запустился ещё раз Gemini и сделал скрин уже на стенде profi.ru.dev/sport/ -> Смотрим отчёт
- По пункту 1 не получается всё же, т.к. он Jivosite на проде находит, а на Стенде нет. И вылетает ошибка - "Out of the bounds"
Ещё один вопрос: пишу в captureElements: 'body' и вылезает всё та же ошибка "Out of the bounds", если писать что-то вроде div.wrapper то всё ок
Я скрываю блок с помощью executeJS. ignoreElements закрывает блок черным прямоугольником, что мне не подошло.
.capture('plain', function (actions, find) {
actions.executeJS(function (window) {
if(document.getElementById('previewNav')) {
document.getElementById('previewNav').style.display = 'none';
}
});
});
Для исправления Out of the bounds мне помогла замена screenshotMode: 'fullpage' на screenshotMode: 'viewport'.