gemini icon indicating copy to clipboard operation
gemini copied to clipboard

Как игнорировать элемент который есть на эталонной странице и которого нет на тестируемой странице?

Open kerimovaa opened this issue 8 years ago • 5 comments

  1. Непонятно как игнорировать элемент который есть на эталонной странице и которого нет на тестируемой странице? Например, jivosite на profi.ru/profile/PopovAA3/ тег jdiv

Ошибка которую, получаю - Out of the bounds 2) Ещё один вопрос, который меня постоянно мучает: этот инструмент был создан для сравнения двух страниц, верно же? Тогда почему в конфигурационном файле нет строки, где мы могли бы прописать тестируемый хост? К примеру так: rootUrl: url1 testUrl: url2

kerimovaa avatar Dec 20 '17 10:12 kerimovaa

Непонятно как игнорировать элемент который есть на эталонной странице и которого нет на тестируемой странице? Например, jivosite на profi.ru/profile/PopovAA3/ тег jdiv

https://github.com/gemini-testing/gemini/blob/master/doc/tests.md посмотрите в сторону ignoreElements('.selector1', {every: '.selector2'}, ...)

StasGrishaev avatar Dec 20 '17 11:12 StasGrishaev

  1. посмотри на ответ предыдущего оратора
  2. это инструмент для регрессионного тестирования верстки скриншотами. Простыми словами: у тебя есть сайт и сейчас на нем допустим отображается кнопка желтого цвета. Ты влил какие то изменения которые не должны были задеть эту кнопку, но задели и цвет изменился на зеленый. Gemini должен это отловить и предупредить тебя об этой проблеме.

А зачем тебе 2 урла? Тебе же не нужно сравнивать два сайта между собой. Тебе нужно сравнить, что после каких то изменений в коде какой то блок или страница выглядит так же само. Если это не так, ты смотришь дифф и если он валидный и теперь он должен выглядить именно так, то ты обновляешь эталон.

Надеюсь понятно объяснил. Если есть еще вопросы - задавай.

DudaGod avatar Dec 20 '17 13:12 DudaGod

  1. Согласен с тобой полностью. Но я например внедрил у нас ваш инструмент в другом амплуа: Прилетела задача -> Запустился Gemini и сделал скрин на проде profi.ru/sport/ -> тут же запустился ещё раз Gemini и сделал скрин уже на стенде profi.ru.dev/sport/ -> Смотрим отчёт
  2. По пункту 1 не получается всё же, т.к. он Jivosite на проде находит, а на Стенде нет. И вылетает ошибка - "Out of the bounds"

kerimovaa avatar Dec 20 '17 14:12 kerimovaa

Ещё один вопрос: пишу в captureElements: 'body' и вылезает всё та же ошибка "Out of the bounds", если писать что-то вроде div.wrapper то всё ок

kerimovaa avatar Dec 20 '17 15:12 kerimovaa

Я скрываю блок с помощью 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'.

Hrommi avatar Mar 14 '18 07:03 Hrommi