Проблемы с событиями 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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