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

Запуск и отладка

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

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

npx testplane

Также тесты можно запускать в gui-режиме, для этого выполните команду:

npx testplane gui

Запуск конкретного теста

У вас имеется набор тестов, и вам нужно запустить только один из них.

const assert = require("assert");

describe("tests", () => {
it("Проверка отображения главной страницы", async ({ browser }) => {
await browser.url("https://testplane.io/ru/");
const title = await browser.getTitle();
assert.ok(title.includes("Testplane"));
});

it("Проверка наличия поля поиска", async ({ browser }) => {
await browser.url("https://testplane.io/ru/");
const searchButton = await browser.$("button.DocSearch");
const isExisting = await searchButton.isExisting();
assert.strictEqual(isExisting, true);
});
});

В таком случае выполните команду:

testplane --grep "Проверка наличия поля поиска"

В кавычках вам необходимо передать содержимое скобок ключевого слова it.

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

По умолчанию тесты запускаются в тех браузерах, которые указаны в файле testplane.config.ts.

browsers: ["chrome", "firefox"];

При выполнении команды npx testplane тесты запустятся в браузерах Google Chrome и Mozilla Firefox.

# Запуск во всех браузерах (по умолчанию)
testplane

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

# Запуск только в Chrome
testplane --browser chrome

Также вы можете указать конкретный браузер для работы в теле теста.

// tests/browser-specific.test.js
describe("Browser specific tests", () => {
it("should work in all browsers", async ({ browser }) => {
await browser.url("https://example.com");
});

// Пропустить тест в Safari
testplane.skip.in("safari", "Feature not supported in Safari");
it("should work only in Chrome and Firefox", async ({ browser }) => {
await browser.url("https://example.com");
// ... тело теста
});

// Запустить только в Chrome
testplane.only.in("chrome");
it("should work only in Chrome", async ({ browser }) => {
await browser.url("https://example.com");
// ... тело теста
});
});

Запуск теста из конкретного файла

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

# Запуск конкретного файла
testplane ../testplane-tests/example.testplane.ts

Где ../testplane-tests/example.testplane.ts — это путь к файлу с тестами.

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

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

О процессах установки и настройки Testplane UI вы можете прочитать в разделе UI.

Отладка

Отладка в gui-формате

Отслеживать процесс выполнения тестов очень легко, если запустить их в gui-режиме. В подобном формате работы html-reporter продемонстрирует, какие тесты были успешно выполнены, а в каких присутствуют ошибки, а также укажет характер этих ошибок.

Интерфейс Testplane GUI

Browser.debug()

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

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-режим, в нем вы можете в реальном времени наблюдать выполнение тестов.

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