Skip to content
Closed
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: 2 additions & 2 deletions docs/html-reporter/html-reporter-plugins-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ declare const pluginOptions: {
selectors: object;
};
```

-- Блок комментариев
## Extension Points {#extension-points}

Extension points determine where in the report interface the plugin component will be placed.
Expand All @@ -147,7 +147,7 @@ Extension points determine where in the report interface the plugin component wi
| `result_meta` | Test result area, near meta information | `result: ReporterTestResult` |
| `settings-panel` | Settings panel | — |
| `run-test-options` | Test run options, near the run test button | — |

-- Конец блока комментариев
### ExtensionPointName

Use enum to specify the extension point in the preset:
Expand Down
1 change: 1 addition & 0 deletions docs/key-concepts/base-configuration.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Base configuration
1 change: 1 addition & 0 deletions docs/key-concepts/cdp-testplane.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Chrome DevTools Protocol
1 change: 1 addition & 0 deletions docs/key-concepts/command-line.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# CLI
1 change: 1 addition & 0 deletions docs/key-concepts/custom-commands.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Custon commands
1 change: 1 addition & 0 deletions docs/key-concepts/emulation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Emulation
1 change: 1 addition & 0 deletions docs/key-concepts/network-requests.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Network requests
1 change: 1 addition & 0 deletions docs/key-concepts/page-accessibility.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Page accessibility
1 change: 1 addition & 0 deletions docs/key-concepts/reporter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Reporter
1 change: 1 addition & 0 deletions docs/key-concepts/scrollbar-issue.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Scrollbar issues
1 change: 1 addition & 0 deletions docs/key-concepts/selectors.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Selectors
1 change: 1 addition & 0 deletions docs/key-concepts/test-configuration.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Tests configuration
1 change: 1 addition & 0 deletions docs/key-concepts/test-reports.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Test reports
1 change: 1 addition & 0 deletions docs/key-concepts/test-stability.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Stability of tests
1 change: 1 addition & 0 deletions docs/key-concepts/testplane-localbrowser.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Testplane on local browser
1 change: 1 addition & 0 deletions docs/key-concepts/testplane-mcp.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Testplane MCP
1 change: 1 addition & 0 deletions docs/key-concepts/time-travel.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Time Travel
67 changes: 31 additions & 36 deletions docs/quickstart/index.mdx
Original file line number Diff line number Diff line change
@@ -1,37 +1,58 @@
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import Admonition from "@theme/Admonition";

# Quick Start
# Установка и настройка

## Installation {#install}
## Системные требования

Run the Testplane installer using `npm`.
Чтобы начать работу с testplane, установите `Node.js` версии 18.0 и выше.

## Установка {#install}

Для запуска установщика testplane, с помощью `npm` выполните следующую команду:

```bash
npm init testplane@latest YOUR_PROJECT_PATH
```

If you do not want to use the defaults when initializing the project and want to configure it using a wizard, specify the `-v` option.
Чтобы настроить проект, а не использовать дефолты при его инициализации, укажите опцию `-v`.

После выполнения команды установки, в директории проекта появится следующий набор файлов и папок:

```bash
node_modules
testplane-tests
example.testplane.ts
ts.config.json
package-lock.json
package.json
testplane.config.ts
```

## Setup {#setup}
## Настройка {#setup}

After executing the command mentioned above, a `testplane.config.ts` file with basic settings will be generated at the root of the project.
В файле `testplane.config.ts` содержится базовый набор настроек для запуска тестов:

```typescript
export default {
// https://testplane.io/docs/v8/guides/local-browsers/
gridUrl: "local",
baseUrl: "http://localhost",
pageLoadTimeout: 0,
httpTimeout: 60000,
testTimeout: 90000,
resetCursor: false,

// В параметре sets содержится информация о директории, в которой находятся тесты
// и перечень браузеров, в которых они будут запускаться:
sets: {
desktop: {
files: ["testplane-tests/**/*.testplane.(t|j)s"],
browsers: ["chrome", "firefox"],
},
},

// В поле `browsers` описана конфигурация используемых браузеров:
browsers: {
chrome: {
headless: true,
Expand All @@ -46,9 +67,9 @@ export default {
},
},
},

plugins: {
"html-reporter/testplane": {
// https://github.com/gemini-testing/html-reporter
enabled: true,
path: "testplane-report",
defaultView: "all",
Expand All @@ -58,39 +79,13 @@ export default {
};
```

You can download these browsers, described in the config, separately from running Testplane itself:
Чтобы загрузить браузеры, описанные в конфиге, отдельно от запуска самого Testplane, выполните команду:

```bash
npx testplane install-deps
```

Without running the command, absent browsers will be downloaded during first Testplane launch.

## Creating a Test {#test_creation}

Navigate to the `tests/example.testplane.js` file with a test. Here you can see a test example or write your own. For example,

```javascript
describe("github", async function () {
it("should find testplane", async function ({ browser }) {
await browser.url("https://github.com/gemini-testing/testplane");
const elem = await browser.$("#readme h1");

await expect(elem).toHaveText("Testplane");
});
});
```

## Running a Test {#test_running}
Без предварительного запуска команды, недостающие браузеры будут автоматически загружены с первым запуском Testplane.

Now you can run the tests:

```bash
npx testplane
```

or launch the GUI mode and run the test through the browser interface

```bash
npx testplane gui
```
117 changes: 117 additions & 0 deletions docs/quickstart/launch-debugging.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Запуск и отладка

## Запуск тестов

Для запуска тестов используйте команду:

```bash
npx testplane
```

Для запуска тестов в gui-режиме через интерфейс браузера используйте команду:

```bash
npx testplane gui
```
После выполнения одной из команд, тесты запустятся во всех браузерах, которые указаны в файле `testplane.config.ts`.

### Запуск конкретных тестов

`Grep`-фильтрация позволяет запускать тесты по названию, не меняя код. Это удобно для запуска подмножества тестов во время разработки.

```bash
# Запустить тесты, название которых содержит "test name"
# Поиск происходит в describe() и it() блоках
npx testplane --grep "test name"

# Инверсия grep - запустить все КРОМЕ совпадающих
# Полезно для исключения медленных или нестабильных тестов
npx testplane --grep "name" --invert
```

### Запуск в определенных браузерах

По умолчанию Testplane запускает тесты во всех браузерах из конфигурации. Флаг `--browser` позволяет выбрать конкретные браузеры для запуска.

```bash
# Запустить только в Chrome
# Имя браузера должно совпадать с ключом в конфиге
npx testplane --browser chrome

# Запустить в нескольких браузерах одновременно
# Полезно для кросс-браузерного тестирования
npx testplane --browser chrome --browser firefox
```

### Параллельный запуск

Testplane может запускать тесты параллельно в нескольких процессах, что значительно ускоряет выполнение больших тестовых наборов.

```bash
# Запустить с 4 параллельными воркерами
# Каждый воркер - отдельный процесс Node.js
npx testplane --workers 4

# Альтернативно - настроить в конфигурации
# Это значение будет использоваться по умолчанию
module.exports = {
system: {
workers: 4 // Количество параллельных процессов
}
};
```


### Режим пользовательского интерфейса

В Testplane вы можете работать с тестами в UI формате с помощью Testplane UI.

![](/img/docs/html-reporter/html-reporter-demo.png)

О процессах установки и настройки Testplane UI вы можете прочитать вот [здесь.](..//html-reporter//overview.mdx)

## Отладка

### Отладка с помощью консоли

Самым доступным и простым способом отладки является вывод информации в консоль:

### Browser.debug()

В Testplane имеется встроенный инструмент для отладки - `browser.debug`.

```javascript
it('отладка с паузой', async ({browser}) => {
// Открываем тестируемую страницу
await browser.url('/page');

// browser.debug() останавливает выполнение теста
// и открывает интерактивную консоль (REPL - Read-Eval-Print Loop)
await browser.debug();

// После вызова debug() тест приостанавливается
// В консоли можно вводить команды WebdriverIO в реальном времени:

// Примеры команд, которые можно вводить в REPL:
// > await browser.$('.button').click() - кликнуть по кнопке
// > await browser.getTitle() - получить заголовок страницы
// > await browser.$$('.items') - найти все элементы
// > .exit - выйти из режима отладки

// Этот код выполнится только после выхода из debug()
await browser.$('.button').click();
});

```


### Отладка через Testplane UI

Наиболее удобным способом для работы с отладкой тестов является UI режим, в нем вы можете в реальном времени наблюдать выполнения тестов.

![](/gif/docs/ui/run-debug.gif)

И находить нестабильные тесты, медленные тесты или другие проблемы с помощью опций "сортировка" и "группировка".

![](/gif/docs/ui/analytics.gif)

Loading