Skip to content
Open
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/quickstart/running-tests.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ You can also run tests in `gui` mode. To do this, execute the command:
npx testplane gui
```

### Running a specific test
### Running a specific test {#the_grep_option}

Consider the following set of tests:

Expand Down Expand Up @@ -96,7 +96,7 @@ describe("Browser specific tests", () => {
});
```

### Running a test from a specific file
### Running a test from a specific file {#running_a_specific_file}

To run tests from a specific file, execute the command:

Expand Down
49 changes: 48 additions & 1 deletion docs/quickstart/usage-in-ci.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,53 @@
---
sidebar_position: 4
draft: true
---

# Usage in CI

Testplane can be easily integrated into any CI system. For GitHub Actions, we recommend using the official action [gemini-testing/gh-actions-testplane](https://github.com/gemini-testing/gh-actions-testplane), which automatically caches browsers and generates reports.

## GitHub Actions Setup

Create a `.github/workflows/testplane.yml` file in your repository root:

```yaml title=".github/workflows/testplane.yml"
name: Testplane Tests

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"

- run: npm ci

- uses: gemini-testing/gh-actions-testplane@v1
with:
browser: "chrome,firefox" # Optional: list of browsers
```

## Additional Features

The action supports additional configuration parameters:

- `config-path` — path to config file (default: `testplane.config.ts`)
- `set` — run specific test sets
- `grep` — filter tests by pattern
- `storybook` — integration with [@testplane/storybook](https://github.com/gemini-testing/testplane-storybook)

For more details on parameters and advanced usage scenarios, see the [GitHub Actions setup guide](../guides/how-to-run-on-github.mdx).

## Other CI Systems

For more details on configuring Testplane for other CI systems, refer to the [configuration documentation](../reference/config/main.mdx).
92 changes: 80 additions & 12 deletions i18n/ru/docusaurus-plugin-content-docs/current/quickstart/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import Admonition from "@theme/Admonition";
npm init testplane@latest YOUR_PROJECT_PATH
```

Чтобы настроить проект, а не использовать дефолты при его инициализации, укажите опцию `-v`.
Чтобы настроить проект в интерактивном режиме с дополнительными параметрами (выбор пакетного менеджера, установка плагинов), укажите опцию <nobr>`-v`</nobr>.

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

Expand All @@ -38,25 +38,20 @@ testplane.config.ts

В файле `testplane.config.ts` содержится базовый набор настроек для запуска тестов:

```typescript
```typescript title="testplane.config.ts"
export default {
gridUrl: "local",
baseUrl: "http://localhost",
pageLoadTimeout: 0,
httpTimeout: 60000,
pageLoadTimeout: 20000,
httpTimeout: 20000,
testTimeout: 90000,
resetCursor: false,

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

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

prepareBrowser: (browser: WdioBrowser) => {
setupBrowser(browser);
},
plugins: {
"html-reporter/testplane": {
enabled: true,
Expand All @@ -80,13 +77,84 @@ export default {
diffMode: "3-up-scaled",
},
},
};
} satisfies import("testplane").ConfigInput;
```

### Основные параметры конфигурации

- `gridUrl` определяет, где запускать браузеры. Значение `"local"` означает запуск на вашей локальной машине. Для удаленного запуска укажите URL Selenium Grid или облачного сервиса (например, BrowserStack или Sauce Labs).
- `sets` — группы тестов, привязанные к определенным браузерам. Позволяет запускать разные наборы тестов в разных браузерах. Например, можно создать отдельные наборы для десктопных тестов в Chrome/Firefox и мобильных в Safari. Подробнее в [справочнике по sets](../reference/config/sets.mdx).
- `testTimeout` — максимальное время выполнения одного теста в миллисекундах. Если тест выполняется дольше этого значения, он будет прерван. Настраивайте в зависимости от сложности вашего приложения.
- `pageLoadTimeout` — максимальное время ожидания загрузки страницы.
- `browsers` — конфигурация для каждого браузера. Параметр `headless: true` запускает браузер в фоновом режиме без графического интерфейса. Подробнее в разделе [Браузеры](../basic-guides/managing-browsers.mdx).
- `prepareBrowser` — хук для настройки браузера перед запуском тестов. В конфиге по умолчанию вызывает `setupBrowser(browser)`, который добавляет методы Testing Library к объекту браузера и элементам, позволяя сразу использовать семантические запросы в тестах.
- `plugins` — подключаемые модули. `html-reporter` — инструмент для просмотра результатов тестов в браузере. Предоставляет интерактивные отчеты со скриншотами, логами и возможностями отладки. Подробнее в разделе [HTML Reporter](../html-reporter/overview.mdx).

Полный список параметров конфигурации см. в [справочнике по конфигурации](../reference/config/main.mdx).

Чтобы загрузить браузеры, описанные в конфиге, отдельно от запуска самого Testplane, выполните команду:

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

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

## Первый запуск {#first-run}

После установки и настройки запустите тестовый пример, который был создан автоматически:

```bash
npx testplane
```

### Что происходит при первом запуске

Testplane автоматически выполнит следующие действия:

1. Загрузит браузеры: если вы не запускали `install-deps`, Testplane скачает Chrome и Firefox
2. Запустит тест: выполнит пример из `testplane-tests/example.testplane.ts`
3. Создаст отчет: сгенерирует HTML-репорт в папке `testplane-report/`

### Просмотр результатов

После завершения тестов откройте интерактивный отчет:

```bash
npx testplane gui
```

Команда запустит локальный сервер и откроет отчет в браузере. В интерфейсе вы увидите:

- Список пройденных тестов
- Статистику выполнения
- Скриншоты (если тест использует `assertView`)
- Логи выполнения

### Ожидаемый результат

Если все настроено корректно, вы увидите:

```
✔ test examples › docs search test [chrome] - 3.2s
✔ test examples › docs search test [firefox] - 3.5s

Total: 2 Passed: 2 Failed: 0 Skipped: 0 Retries: 0
```

### Возможные проблемы

Если тест не прошел, проверьте:

- Интернет-соединение (тест обращается к https://testplane.io/)
- Браузеры установлены: `npx testplane install-deps`

Подробнее об отладке в разделе [Запуск и отладка](./running-tests.mdx).

## Что дальше?

Теперь, когда Testplane настроен и работает, вы можете:

- [Написать свои тесты](./writing-tests.mdx): структура тестов, селекторы и основные команды
- [Запустить и отладить тесты](./running-tests.mdx): фильтрация, GUI-режим, отладка
- [Настроить CI/CD](./usage-in-ci.mdx): автозапуск тестов в GitHub Actions
Loading
Loading