Skip to content

Commit afffd94

Browse files
authored
feat: add info about time travel (#58)
* feat: add info about time travel * fix: fix admonitions * fix: fix gif * fix: fix screenshots * fix: fix typo
1 parent a766eaf commit afffd94

File tree

7 files changed

+126
-0
lines changed

7 files changed

+126
-0
lines changed

docs/guides/time-travel.mdx

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import Admonition from "@theme/Admonition";
2+
3+
# Time Travel (Preview)
4+
5+
![](/img/docs/guides/time-travel-demo.gif)
6+
7+
## Overview
8+
9+
The Time Travel mode is a new Testplane UI tool that allows you to observe test execution in real-time, as well as record and replay the test's progress.
10+
11+
- Time Travel records snapshots of the DOM tree, not screenshots or videos, but the actual DOM structure
12+
- The average snapshot size is about 200KB thanks to compression and an incremental recording algorithm
13+
- The entire functionality is available both within the GUI and in a static report generated from any CI
14+
15+
## Getting Started
16+
17+
<Admonition type="warning">
18+
Please note that the Time Travel feature is currently in Preview. For production use, we
19+
recommend waiting for the stable version.
20+
</Admonition>
21+
22+
1. Install the alpha versions of `testplane` and `html-reporter`:
23+
24+
```shell
25+
26+
```
27+
28+
2. Enable snapshot recording in the Testplane config:
29+
30+
```typescript
31+
export = {
32+
/* ... */
33+
record: "on",
34+
};
35+
```
36+
37+
3. Run the tests and activate Time Travel in the UI settings:
38+
39+
![](/img/docs/guides/time-travel-setting.png)
40+
41+
## Using Time Travel
42+
43+
After activating Time Travel in all supported browsers, a player window will appear before the test starts. During test execution, the browser's activity will be streamed into this player.
44+
45+
![](/img/docs/guides/time-travel-live.png)
46+
47+
After the test run is complete, you can replay the recorded snapshots and navigate through time. Hovering over a specific step will show the browser's state at that exact moment.
48+
49+
![](/img/docs/guides/time-travel-recording.png)
50+
51+
To debug the layout, you can use the browser's DevTools. All selectors and attributes are preserved without changes.
52+
53+
![](/img/docs/guides/time-travel-debug.png)
54+
55+
## Configuring Time Travel
56+
57+
Currently, snapshot recording is controlled via the `record` option in the Testplane config. It supports two values: `"on"` (snapshots will be recorded for every test run) and `"off"` (snapshots are completely disabled).
58+
59+
<Admonition type="info">
60+
In the near future, smarter recording modes will be available, such as "only on failure" or
61+
"enabled during retries." Additionally, network request debugging and full-screen mode will soon
62+
be available.
63+
</Admonition>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import Admonition from "@theme/Admonition";
2+
3+
# Time Travel (Preview)
4+
5+
![](/img/docs/guides/time-travel-demo.gif)
6+
7+
## Обзор
8+
9+
Режим Time Travel — это новый инструмент Testplane UI, который позволяет наблюдать за ходом выполнения тестов в реальном времени, а также записывать и воспроизводить ход прохождения теста.
10+
11+
- Time Travel записывает снимки DOM-дерева, то есть не скриншоты или видео, а настоящую DOM-разметку
12+
- Вес одного снапшота в среднем составляет около 200КБ благодаря сжатию и инкрементальному алгоритму записи
13+
- Весь функционал доступен как в рамках GUI, так и в статическом отчете, полученном из любого CI
14+
15+
## Начало работы
16+
17+
<Admonition type="warning">
18+
Обратите внимание, что функционал Time Travel в данный момент находится в стадии Preview. Для
19+
использования в production рекомендуем дождаться stable версии.
20+
</Admonition>
21+
22+
1. Необходимо установить alpha-версии `testplane` и `html-reporter`:
23+
24+
```shell
25+
26+
```
27+
28+
2. Включить запись снапшотов в конфиге testplane:
29+
30+
```typescript
31+
export = {
32+
/* ... */
33+
record: "on",
34+
};
35+
```
36+
37+
3. Выполнить прогон тестов и активировать Time Travel в настройках UI:
38+
39+
![](/img/docs/guides/time-travel-setting.png)
40+
41+
## Использование Time Travel
42+
43+
После активации Time Travel во всех поддерживаемых браузерах перед запуском будет отображаться окно плеера. Во время прогона теста в него будет стримиться происходящее в браузере.
44+
45+
![](/img/docs/guides/time-travel-live.png)
46+
47+
По завершении прогона теста можно воспроизвести снятые снапшоты и перемещаться во времени. При наведении на конкретный шаг плеер покажет состояние браузера на момент его выполнения.
48+
49+
![](/img/docs/guides/time-travel-recording.png)
50+
51+
Для отладки верстки вы можете воспользоваться DevTools браузера. Все селекторы и атрибуты сохранены без изменений.
52+
53+
![](/img/docs/guides/time-travel-debug.png)
54+
55+
## Настройка Time Travel
56+
57+
В данный момент всё управление записью снапшотов происходит с помощью опции `record` в конфиге Testplane. Поддержано 2 значения: `"on"` (снапшоты будут записываться на каждый запуск теста) и `"off"` (снапшоты полностью отключены).
58+
59+
<Admonition type="info">
60+
В самом ближайшем будущем появятся более умные режимы записи снапшотов, такие, как "только при
61+
падении" или "включить при ретраях". Помимо этого скоро станет доступна отладка сетевых запросов
62+
и полноэкранный режим.
63+
</Admonition>
831 KB
Loading
5.24 MB
Loading
356 KB
Loading
632 KB
Loading
500 KB
Loading

0 commit comments

Comments
 (0)