Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions blog/support-bidi-protocol.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import networkResponsesExampleUrl from "/video/blog/bidi/network-responses-examp
import browserLogsExampleUrl from "/video/blog/bidi/browser-logs-example.mp4";
import screenFullPageExampleUrl from "/video/blog/bidi/screen-full-page-example.mp4";

В [[email protected]][testplane@8.27.0] добавлена поддержка [WebDriver BiDi протокола][bidi] (будущий единый стандарт для автоматизации браузеров).
В [[email protected]](https://github.com/gemini-testing/testplane/releases/tag/v8.27.0) добавлена поддержка [WebDriver BiDi протокола](https://w3c.github.io/webdriver-bidi/) (будущий единый стандарт для автоматизации браузеров).

<!-- truncate -->

Expand Down Expand Up @@ -131,8 +131,6 @@ it("should screen full page", async ({ browser }) => {

Переходите на новую версию Testplane и приносите фидбек. В случае обнаружения проблем приходите в [issue github][gh-issues] — мы вам обязательно поможем!

[[email protected]]: https://github.com/gemini-testing/testplane/releases/tag/v8.27.0
[bidi]: https://w3c.github.io/webdriver-bidi/
[webdriver]: https://www.w3.org/TR/webdriver1/
[cdp]: https://chromedevtools.github.io/devtools-protocol/
[webvider-vs-cdp]: https://testplane.io/ru/docs/v8/reference/webdriver-vs-cdp/
Expand Down
68 changes: 68 additions & 0 deletions blog/time-travel-release.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: Time Travel + новости Testplane UI
slug: time-travel-release
hide_table_of_contents: false
date: 2025-05-21T17:00
---

import Admonition from "@theme/Admonition";
import mockNetworkRequestExampleUrl from "/video/blog/bidi/mock-network-request-example.mp4";
import networkResponsesExampleUrl from "/video/blog/bidi/network-responses-example.mp4";
import browserLogsExampleUrl from "/video/blog/bidi/browser-logs-example.mp4";
import screenFullPageExampleUrl from "/video/blog/bidi/screen-full-page-example.mp4";

Представляем новый инструмент Testplane UI — Time Travel, теперь в стабильной версии! Расскажем о новой функциональности и что ещё появилось в Testplane UI за последнее время.

![](/img/blog/time-travel.png)

<!-- truncate -->

## Как получить доступ к последним обновлениям?

Нужно установить свежие версии Testplane и `html-reporter`:

```shell
npm i -D [email protected] [email protected]
```

## Time Travel

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

Вот как это выглядит:

![](/img/docs/guides/time-travel-demo.gif)

Time Travel записывает снапшоты DOM-дерева, что позволяет отлаживать проблемы, связанные с селекторами, и в то же время экономить место на диске.

Подробнее — в нашем [новом руководстве][time-travel-guide].

## Новости Testplane UI

### Fuzzy-поиск тестов

Поиск тестов теперь более интеллектуальный и понимает запросы даже с опечатками или в другой раскладке. Появились опции поиска как в IDE: regex и case-insensitive.

А ещё мы добавили новый способ сортировки — по релевантности. Он включается автоматически во время поиска, благодаря чему сверху вы видите самые релевантные тесты.

![](/img/blog/fuzzy-search.gif)

### Новые кнопки для управления элементами интерфейса

Добавили кнопки для управления видимостью дерева тестов и плеера. Теперь можно скрывать их, когда они вам не нужны и, например, работать со скриншотами во весь экран.

Интерфейс запоминает ваши предпочтения и даже после перезагрузки страницы всё будет так, как вы настроили.

![](/img/blog/show-hide-buttons.gif)

### Другие улучшения

- Значительно переработали [команду `merge-reports`](/docs/v8/html-reporter/html-reporter-commands/#merge-reports) — теперь она работает лучше, стабильнее и покрывает больше кейсов
- Testplane UI теперь умеет работать с отчетами, созданными в старых версиях — теперь можно не бояться потерять данные при обновлении
- [Появилось API](https://github.com/gemini-testing/html-reporter/releases/tag/v10.17.0) для выгрузки снапшотов в Time Travel
- Возможность выбирать скорость воспроизведения в плеере Time Travel

Следите за новыми релизами в нашем блоге и в разделе [Release Notes на GitHub](https://github.com/gemini-testing/html-reporter/releases), а в случае обнаружения проблем приходите в [issue GitHub][gh-issues] — мы вам обязательно поможем!

[gh-issues]: https://github.com/gemini-testing/testplane/issues
[time-travel-guide]: https://testplane.io/ru/docs/v8/guides/time-travel/
64 changes: 64 additions & 0 deletions docs/config/browsers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -950,6 +950,69 @@ Allows selecting different data centers in the cloud service. Default: `null`.

Allows running a headless browser in the cloud service. Default: `null`.

## Time Travel {#time_travel}

These settings allow you to configure test run snapshot recording for subsequent playback in the player.
To learn more about Time Travel capabilities, see the [Time Travel guide][time-travel].

<table>
<thead>
<tr>
<td>**Parameter**</td>
<td>**Type**</td>
<td>**Default**</td>
<td>**Description**</td>
</tr>
</thead>
<tbody>
<tr>
<td>`timeTravel`</td>
<td>`string | TimeTravelSettings`</td>
<td>`"off"`</td>
<td>Time Travel settings.</td>
</tr>
</tbody>
</table>

### timeTravel {#time_travel}

Time Travel settings. Default: `"off"`.

For quick setup, you can pass a string — one of the recording modes (`TimeTravelMode`). The full configuration looks like this:

```typescript
enum TimeTravelMode {
// Snapshot recording is enabled for all runs
On = "on",
// Snapshot recording is disabled
Off = "off",
// Snapshot recording is enabled for all retries (first run is not considered a retry)
RetriesOnly = "retries-only",
// Snapshot recording is enabled for all runs, but only snapshots for the last failed run are saved
// For example:
// - if the test was run once and failed, the snapshot will be recorded.
// - if the test was run 5 times and failed all 5 times, the snapshot for the 5th retry will be recorded.
// - if the test was run 2 times and passed both times, no snapshots will be recorded.
LastFailedRun = "last-failed-run",
}

interface TimeTravelConfig {
mode: TimeTravelMode;
}
```

Example of a valid configuration:

```typescript
import { TimeTravelMode } from "@testplane/testplane";

export = {
timeTravel: {
mode: TimeTravelMode.RetriesOnly,
},
};
```

[desired-caps]: https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities
[html-reporter]: ../../html-reporter/html-reporter-setup
[got]: https://github.com/sindresorhus/got/
Expand All @@ -964,3 +1027,4 @@ Allows running a headless browser in the cloud service. Default: `null`.
[element-wait-until]: ../../commands/element/waitUntil
[how-to-use-cdp]: ../../guides/how-to-use-cdp
[testplane-also-in-helper]: ../../guides/how-to-skip-test-in-browsers#solution_4
[time-travel]: ../../guides/time-travel
55 changes: 32 additions & 23 deletions docs/guides/time-travel.mdx
Original file line number Diff line number Diff line change
@@ -1,42 +1,45 @@
---
sidebar_position: 1
---

import Admonition from "@theme/Admonition";

# Time Travel (Preview)
# Time Travel

![](/img/docs/guides/time-travel-demo.gif)

## Overview

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.
Time Travel 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.

- Time Travel records snapshots of the DOM tree, not screenshots or videos, but the actual DOM structure
- The average snapshot size is about 200KB thanks to compression and an incremental recording algorithm
- The entire functionality is available both within the GUI and in a static report generated from any CI

## Getting Started

<Admonition type="warning">
Please note that the Time Travel feature is currently in Preview. For production use, we
recommend waiting for the stable version.
</Admonition>
You need to install the latest versions of `testplane` and `html-reporter` (stable support was introduced in `[email protected]` and `[email protected]`):

1. Install the alpha versions of `testplane` and `html-reporter`:
```shell
npm i -D testplane@latest html-reporter@latest
```

```shell
npm i -D [email protected] [email protected]
```
This is sufficient for the snapshot player and browser streaming to appear in GUI mode during test runs. You can launch the GUI with the standard command:

2. Enable snapshot recording in the Testplane config:
```shell
npx html-reporter gui
```

```typescript
export = {
/* ... */
record: "on",
};
```
To enable Time Travel in CI, you need to set the `timeTravel` option in the Testplane config:

3. Run the tests and activate Time Travel in the UI settings:
```typescript
export = {
/* ... */
timeTravel: "on", // You can also specify "retries-only" or "last-failed-run"
};
```

![](/img/docs/guides/time-travel-setting.png)
You can learn more about these options in the [configuration reference][config-reference].

## Using Time Travel

Expand All @@ -54,10 +57,16 @@ To debug the layout, you can use the browser's DevTools. All selectors and attri

## Configuring Time Travel

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).
Currently, all snapshot recording management is done through the `timeTravel` option in the Testplane config. Complete information can be found in the [configuration reference][config-reference].

Also note that `html-reporter` automatically sets the necessary settings in GUI mode.
If for some reason this doesn't work for you, it can be disabled in the settings panel — in this case, your project's config will be used without modifications:

![](/img/docs/guides/time-travel-ui-settings.png)

<Admonition type="info">
In the near future, smarter recording modes will be available, such as "only on failure" or
"enabled during retries." Additionally, network request debugging and full-screen mode will soon
be available.
We are actively developing Time Travel, and more functionality will be available in the near
future, such as network request debugging and full-screen mode.
</Admonition>

[config-reference]: ../../config/browsers#time_travel
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import networkResponsesExampleUrl from "/video/blog/bidi/network-responses-examp
import browserLogsExampleUrl from "/video/blog/bidi/browser-logs-example.mp4";
import screenFullPageExampleUrl from "/video/blog/bidi/screen-full-page-example.mp4";

Support for the [WebDriver BiDi protocol][bidi] (the future unified standard for browser automation) has been added in [[email protected]][testplane@8.27.0].
Support for the [WebDriver BiDi protocol](https://w3c.github.io/webdriver-bidi/) (the future unified standard for browser automation) has been added in [[email protected]](https://github.com/gemini-testing/testplane/releases/tag/v8.27.0).

<!-- truncate -->

Expand Down Expand Up @@ -133,8 +133,6 @@ By embracing BiDi protocol support, we're empowering our users with:

We encourage you to upgrade to the latest Testplane version and share your experience. Should you encounter any challenges, our team is ready to assist through [GitHub issue][gh-issues] - just create a ticket and we'll help resolve it promptly!

[[email protected]]: https://github.com/gemini-testing/testplane/releases/tag/v8.27.0
[bidi]: https://w3c.github.io/webdriver-bidi/
[webdriver]: https://www.w3.org/TR/webdriver1/
[cdp]: https://chromedevtools.github.io/devtools-protocol/
[webvider-vs-cdp]: https://testplane.io/ru/docs/v8/reference/webdriver-vs-cdp/
Expand Down
68 changes: 68 additions & 0 deletions i18n/en/docusaurus-plugin-content-blog/time-travel-release.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: Time Travel + Testplane UI Updates
slug: time-travel-release
hide_table_of_contents: false
date: 2025-05-21T17:00
---

import Admonition from "@theme/Admonition";
import mockNetworkRequestExampleUrl from "/video/blog/bidi/mock-network-request-example.mp4";
import networkResponsesExampleUrl from "/video/blog/bidi/network-responses-example.mp4";
import browserLogsExampleUrl from "/video/blog/bidi/browser-logs-example.mp4";
import screenFullPageExampleUrl from "/video/blog/bidi/screen-full-page-example.mp4";

We're presenting a new Testplane UI tool — Time Travel, now stable! Let's talk about this new functionality and what else has been added to Testplane UI recently.

![](/img/blog/time-travel.png)

<!-- truncate -->

## How to get the latest updates?

You need to install the latest versions of Testplane and `html-reporter`:

```shell
npm i -D [email protected] [email protected]
```

## Time Travel

Time Travel is a new Testplane UI tool that allows you to view test runs in real-time, as well as record and play back all the actions that occurred in the browser during the test.

Here's how it looks:

![](/img/docs/guides/time-travel-demo.gif)

Time Travel records DOM tree snapshots, which helps debug issues related to selectors while saving disk space.

Learn more in our [new guide][time-travel-guide].

## Testplane UI News

### Fuzzy Test Search

Test search is now more intelligent and understands queries even with typos or in a different keyboard layout. IDE-like search options have been added: regex and case-insensitive.

We've also added a new sorting method — by relevance. It's automatically enabled during search, ensuring the most relevant tests appear at the top.

![](/img/blog/fuzzy-search.gif)

### New Buttons for Managing Interface Elements

We've added buttons to control the visibility of the test tree and player. Now you can hide them when you don't need them and, for example, work with screenshots in full screen.

The interface remembers your preferences, and even after reloading the page, everything will be as you set it up.

![](/img/blog/show-hide-buttons.gif)

### Other Improvements

- Significantly reworked the [`merge-reports`](/docs/v8/html-reporter/html-reporter-commands/#merge-reports) command — now it works better, more stable, and covers more cases
- Testplane UI can now work with reports created in older versions — no need to worry about losing data when upgrading
- [New API](https://github.com/gemini-testing/html-reporter/releases/tag/v10.17.0) for exporting snapshots in Time Travel
- Option to select playback speed in the Time Travel player

Stay tuned for new releases on our blog and in the [Release Notes on GitHub](https://github.com/gemini-testing/html-reporter/releases), and if you encounter any issues, please visit our [GitHub issues][gh-issues] — we'll be happy to help!

[gh-issues]: https://github.com/gemini-testing/testplane/issues
[time-travel-guide]: /docs/v8/guides/time-travel/
Loading