The library is designed to interact with @skbkontur/react-ui components using Playwright.NET
$ dotnet add package Playwright.ReactUI.ControlsБиблиотека предназначена для взаимодействия с компонентами @skbkontur/react-ui при тестировании с помощью Playwright.NET
В качестве примера взят компонент Input:
<Input data-tid="InputId" />
Инициализация
var input = new Input(page.GetByTestId("InputId"));
Взаимодействие
await input.FillAsync("newValue").ConfigureAwait(false);
Проверка
await input.ExpectV2().ToHaveValueAsync("newValue").ConfigureAwait(false);
Создание своего компонента
public class Header : ControlBase
{
public Header(ILocator rootLocator)
: base(rootLocator)
{
SomeInput = new Input(rootLocator.GetByTestId("InputId"));
}
public Input SomeInput { get; }
}
Создание набора ассертов к своему компоненту
public class HeaderAssertions : ControlBaseAssertionsV2
{
private readonly Header header;
public HeaderAssertions(Header header)
: base(header)
{
this.header = header;
}
public async Task ToBeVisibleAsync()
=> await header.RootLocator.Expect().ToBeVisibleAsync().ConfigureAwait(false);
}
Для "подключения" набора достаточно добавить к своему компоненту:
public new HeaderAssertions ExpectV2() => new(this);