Скриншотное тестирование с использованием gemini

Автор: Михаил Шатихин (СКБ Контур 2017)

Cover

Gemini

Обо мне

Сегодня у нас

Проблемы

Стильно.
Модно.
Молодежно.

Используем песочницу Storybook

Тестируем верстку скриншотами

Gemini

Бонусы

Пример теста

        gemini.suite('RequisiteHistoryEditor', suite => {
          suite.setUrl(url)
            .setCaptureElements(selectors)
            .capture('clicked', function (actions, find) {
              actions.click(find(rowSelector));
            });
        });
    

Пример теста

        gemini.suite('RequisiteHistoryEditor', suite => {
          suite.setUrl(url)
            .setCaptureElements(selectors)
            .capture('clicked', function (actions, find) {
              actions.click(find(rowSelector))
            });
        });
    

Пример теста

        gemini.suite('RequisiteHistoryEditor', suite => {
          suite.setUrl(url)
            .setCaptureElements(selectors)
            .capture('clicked', function (actions, find) {
              actions.click(find(rowSelector);
            });
        });
    

Пример теста

        gemini.suite('RequisiteHistoryEditor', suite => {
          suite.setUrl(url)
            .setCaptureElements(selectors)
            .capture('clicked', function (actions, find) {
              actions.click(find(rowSelector));
            });
        });
    

Пример теста

        gemini.suite('RequisiteHistoryEditor', suite => {
          suite.setUrl(url)
            .setCaptureElements(selectors)
            .capture('clicked', function (actions, find) {
              actions.click(find(rowSelector));
            });
        });
    

Пример теста множеста страниц

        const urls = [ "/", "/products", "/support" ];
        urls.forEach((url, i) =>
          gemini.suite(`suite-${i}`, suite =>
            suite.setUrl(url)
              .setCaptureElements("#root")
              .capture('plain')
            )
        )
    

Пример теста множеста страниц

        const urls = [ "/", "/products", "/support" ];
        urls.forEach((url, i) =>
          gemini.suite(`suite-${i}`, suite =>
            suite.setUrl(url)
              .setCaptureElements("#root")
              .capture('plain')
            )
        )
    

Пример теста множеста страниц

        const urls = [ "/", "/products", "/support" ];
        urls.forEach((url, i) =>
          gemini.suite(`suite-${i}`, suite =>
            suite.setUrl(url)
              .setCaptureElements("#root")
              .capture('plain')
            )
        )
    

Из жизни

Что-то поменялось

Профит использования css/style тестирования

Скриншотное тестирование в Контуре

Call to action

Ссылки

Вопросы?

Как настроить git lfs