Проблемы с событиями onClick с использованием Playwright в приложении Next.jsJavascript

Форум по Javascript
Anonymous
Проблемы с событиями onClick с использованием Playwright в приложении Next.js

Сообщение Anonymous »

Описание проблемы:

Я столкнулся с проблемой, из-за которой события onClick, прикрепленные к кнопкам в моем приложении Next.js, не всегда запускаются во время Playwright E2E. тесты.
Гипотеза:

Проблема, по-видимому, возникает потому, что Playwright взаимодействует с кнопкой до того, как React полностью гидратирует страницу, то есть JavaScript, ответственный за прикрепление обработчик onClick еще не выполнен.
Подробности:

Вот пример одного из моих тестов:< /p>

Код: Выделить всё

test('Navigate from list to details', async ({ page }) => {
await page.goto('/list');
await expect(page.getByTestId('list-container')).toBeVisible();
await page.getByTestId('list-item').first().locator('button').click();
await expect(page.getByTestId('details-container')).toBeVisible();
});
Когда тест переходит к /list, контейнер списка виден, поскольку он отображается на стороне сервера, но нажатие кнопки не всегда запускает onClick.
Что я пробовал:

[*]Использование `page.waitForLoadState('networkidle'), но это не всегда работало, и это также не рекомендуется в документации Playwright.
[*]Ожидание конкретного элемента с помощью page.waitForSelector(), но поскольку элемент визуализируется сервером, это не решает проблему.
[*]Добавление явной задержки с помощью page.waitForTimeout(), но это также не рекомендуется.


Подробнее здесь: https://stackoverflow.com/questions/793 ... pplication

Вернуться в «Javascript»