Перейти к основному содержимому

Time Travel (Preview)

Обзор

Режим Time Travel — это новый инструмент Testplane UI, который позволяет наблюдать за ходом выполнения тестов в реальном времени, а также записывать и воспроизводить ход прохождения теста.

  • Time Travel записывает снимки DOM-дерева, то есть не скриншоты или видео, а настоящую DOM-разметку
  • Вес одного снапшота в среднем составляет около 200КБ благодаря сжатию и инкрементальному алгоритму записи
  • Весь функционал доступен как в рамках GUI, так и в статическом отчете, полученном из любого CI

Начало работы

warning

Обратите внимание, что функционал Time Travel в данный момент находится в стадии Preview. Для использования в production рекомендуем дождаться stable версии.

  1. Необходимо установить alpha-версии testplane и html-reporter:

    npm i -D testplane@8.26.0-alpha.1 html-reporter@10.15.0-alpha.1
  2. Включить запись снапшотов в конфиге testplane:

    export = {
    /* ... */
    record: "on",
    };
  3. Выполнить прогон тестов и активировать Time Travel в настройках UI:

Использование Time Travel

После активации Time Travel во всех поддерживаемых браузерах перед запуском будет отображаться окно плеера. Во время прогона теста в него будет стримиться происходящее в браузере.

По завершении прогона теста можно воспроизвести снятые снапшоты и перемещаться во времени. При наведении на конкретный шаг плеер покажет состояние браузера на момент его выполнения.

Для отладки верстки вы можете воспользоваться DevTools браузера. Все селекторы и атрибуты сохранены без изменений.

Настройка Time Travel

В данный момент всё управление записью снапшотов происходит с помощью опции record в конфиге Testplane. Поддержано 2 значения: "on" (снапшоты будут записываться на каждый запуск теста) и "off" (снапшоты полностью отключены).

к сведению

В самом ближайшем будущем появятся более умные режимы записи снапшотов, такие, как "только при падении" или "включить при ретраях". Помимо этого скоро станет доступна отладка сетевых запросов и полноэкранный режим.