Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ РАБОТА ДЛЯ ТЕСТИРОВЩИКА.ВАКАНСИИ
1. Что такое Playwright?
Ответ: Playwright — это библиотека для Node.js, которая позволяет автоматизировать браузеры.
2. Какие браузеры поддерживает Playwright?
Ответ: Chromium, Firefox и WebKit.
3. Как установить Playwright?
Ответ: npm install @playwright/test
4. Как запустить браузер в Playwright?
Ответ: const browser = await playwright.chromium.launch();
5. Как открыть новую страницу в Playwright?
Ответ: const page = await browser.newPage();
6. Как перейти по URL-адресу в Playwright?
Ответ: await page.goto(‘https://example.com');
7. Как сделать снимок экрана в Playwright?
Ответ: await page.screenshot({ path: ‘screenshot.png’ });
8. Как кликнуть по элементу в Playwright?
Ответ: await page.click(‘selector’);
9. Как ввести текст в поле ввода в Playwright?
Ответ: await page.fill(‘selector’, ‘text’);
10. Как дождаться, чтобы элемент стал видимым в Playwright?
Ответ: await page.waitForSelector(‘selector’);
11. Как получить текстовое содержимое элемента в Playwright?
Ответ: const text = await page.textContent(‘selector’);
12. Как задать размер окна просмотра (viewport) в Playwright?
Ответ: await page.setViewportSize({ width: 1280, height: 720 });
Читайте также: Большой учебник по Playwright
13. Как эмулировать мобильное устройство в Playwright?
Ответ: await page.emulate(devices[‘iPhone 11’]);
14. Как работать с загрузкой файлов в Playwright?
Ответ: await page.setInputFiles(‘input[type=”file”]’, ‘path/to/file’);
15. Как обрабатывать алерты (диалоги) в Playwright?
Ответ: page.on(‘dialog’, dialog => dialog.accept());
16. Как навести курсор на элемент (hover) в Playwright?
Ответ: await page.hover(‘selector’);
17. Как имитировать drag-and-drop (перетаскивание) в Playwright?
Ответ: await page.dragAndDrop(‘source’, ‘target’);
18. Как проверить, виден ли элемент в Playwright?
Ответ: const isVisible = await page.isVisible(‘selector’);
19. Как проверить, что элемент активен (enabled) в Playwright?
Ответ: const isEnabled = await page.isEnabled(‘selector’);
20. Как дождаться перехода на новую страницу (navigation) в Playwright?
Ответ: await page.waitForNavigation();
21. Как выбрать значение из выпадающего списка (dropdown) в Playwright?
Ответ: await page.selectOption(‘selector’, ‘value’);
22. Как получить значение поля ввода в Playwright?
Ответ: const value = await page.inputValue(‘selector’);
23. Как нажать клавишу в Playwright?
Ответ: await page.keyboard.press(‘Enter’);
24. Как получить текущий URL в Playwright?
Ответ: const url = page.url();
25. Как выполнить скрипт в контексте браузера в Playwright?
Ответ: await page.evaluate(() => /* script */);
26. Как сохранить страницу в формате PDF в Playwright?
Ответ: await page.pdf({ path: ‘page.pdf’ });
27. Как добавить куки в Playwright?
Ответ: await page.context().addCookies([{ name: ‘cookie’, value: ‘value’, domain: ‘example.com’ }]);
28. Как очистить куки в Playwright?
Ответ: await page.context().clearCookies();
29. Как создать новый browser context в Playwright?
Ответ: const context = await browser.newContext();
30. Как закрыть браузер в Playwright?
Ответ: await browser.close();
31. Как запустить браузер в headless-режиме в Playwright?
Ответ: const browser = await playwright.chromium.launch({ headless: true });
32. Как выполнять действия с мышью в Playwright?
Ответ: await page.mouse.click(x, y);
33. Как работать с аутентификацией в Playwright?
Ответ: await page.authenticate({ username: ‘user’, password: ‘pass’ });
34. Как получить HTML-код элемента в Playwright?
Ответ: const html = await page.innerHTML(‘selector’);
35. Как задать ожидание по таймауту в Playwright?
Ответ: await page.waitForTimeout(5000);
36. Как работать с несколькими страницами или вкладками в Playwright?
Ответ: const newPage = await context.newPage();
37. Как сохранить HAR-файл в Playwright?
Ответ: await page.routeFromHAR(‘example.har’);
38. Как работать с iframe в Playwright?
Ответ: const frame = await page.frame({ name: ‘frameName’ });
39. Как проверить, отмечен ли элемент в Playwright?
Ответ: const isChecked = await page.isChecked(‘selector’);
40. Как задать таймаут по умолчанию для действий в Playwright?
Ответ: page.setDefaultTimeout(10000);
41. Как перехватывать сетевые запросы в Playwright?
Ответ: page.on(‘request’, request => console.log(request.url()));
42. Как имитировать сетевые ответы в Playwright?
Ответ: await page.route(‘**/api’, route => route.fulfill({ status: 200, body: ‘mocked’ }));
43. Как заблокировать определенные URL-адреса в Playwright?
Ответ: await page.route(‘**/*’, route => route.abort());
44. Как перехватывать логи из консоли браузера в Playwright?
Ответ: page.on(‘console’, msg => console.log(msg.text()));
45. Как запускать тесты параллельно в Playwright?
Ответ: Использовать test.parallel() в Playwright Test Runner.
46. Как записать видео прохождения теста в Playwright?
Ответ: await context.newPage({ recordVideo: { dir: ‘videos/’ } });
47. Как проверить, что у элемента есть определенный атрибут в Playwright?
Ответ: await expect(page.locator(‘selector’)).toHaveAttribute(‘attr’, ‘value’);
48. Как использовать прокси-сервер в Playwright?
Ответ: const browser = await playwright.chromium.launch({ proxy: { server: ‘http://proxy.com' } });
49. Как изменить user agent в Playwright?
Ответ: await page.setUserAgent(‘custom-agent’);
50. Как проверить, что элемент содержит определенный текст в Playwright?
Ответ: await expect(page.locator(‘selector’)).toHaveText(‘text’);
51. Как проверить, отключен ли элемент в Playwright?
Ответ: const isDisabled = await page.isDisabled(‘selector’);
52. Как дождаться сетевого ответа в Playwright?
Ответ: await page.waitForResponse(‘**/api’);
53. Как задать таймаут для конкретного действия в Playwright?
Ответ: await page.click(‘selector’, { timeout: 5000 });
54. Как запустить только один тест в Playwright?
Ответ: test.only(‘имя теста’, async ({ page }) => { /* test code */ });
55. Как пропустить тест в Playwright?
Ответ: test.skip(‘имя теста’, async ({ page }) => { /* test code */ });
56. Как отметить тест как упавший в Playwright?
Ответ: test.fail(‘имя теста’, async ({ page }) => { /* test code */ });
57. Как сделать скриншот при падении теста в Playwright?
Ответ: Настроить screenshot: 'only-on-failure' в конфигурации теста.
58. Как перезапустить упавший тест в Playwright?
Ответ: Указать retries: 2 в конфигурации теста.
59. Как записать trace прогона теста в Playwright?
Ответ: await page.tracing.start({ screenshots: true, snapshots: true });
60. Как остановить запись trace в Playwright?
Ответ: await page.tracing.stop({ path: ‘trace.zip’ });
61. Как отключить JavaScript в Playwright?
Ответ: await page.setJavaScriptEnabled(false);
62. Как задать геолокацию в Playwright?
Ответ: await context.setGeolocation({ latitude: 59.95, longitude: 30.33 });
63. Как изменить часовой пояс в Playwright?
Ответ: await context.setDefaultTimezone(‘Europe/London’);
64. Как добавить HTTP-заголовки к запросам в Playwright?
Ответ: await page.setExtraHTTPHeaders({ ‘header’: ‘value’ });
65. Как эмулировать автономный режим в Playwright?
Ответ: await context.setOffline(true);
66. Как эмулировать медленное соединение в Playwright?
Ответ: await context.setNetworkConditions({ download: 100000, upload: 50000, latency: 200 });
67. Как отправить форму в Playwright?
Ответ: await page.click(‘form [type=”submit”]’);
68. Как проверить, что чекбокс выбран (checked) в Playwright?
Ответ: const isChecked = await page.isChecked(‘input[type=”checkbox”]’);
69. Как записать видео тестового запуска в Playwright?
Ответ: Настроить recordVideo в опциях browser context.
70. Как добавить на страницу script-тег в Playwright?
Ответ: await page.addScriptTag({ url: ‘https://example.com/script.js' });
71. Как добавить на страницу style-тег в Playwright?
Ответ: await page.addStyleTag({ content: ‘body { background-color: red; }’ });
72. Как выделить элемент в Playwright?
Ответ: await page.focus(‘selector’);
73. Как убрать фокус с элемента (blur) в Playwright?
Ответ: await page.blur(‘selector’);
74. Как проверить, является ли элемент редактируемым в Playwright?
Ответ: const isEditable = await page.isEditable(‘selector’);
75. Как проскроллить элемент в зону видимости в Playwright?
Ответ: await page.locator(‘selector’).scrollIntoViewIfNeeded();
76. Как получить bounding box элемента в Playwright?
Ответ: const box = await page.locator(‘selector’).boundingBox();
77. Как использовать Playwright с TypeScript?
Ответ: Установить TypeScript и настроить Playwright с поддержкой TypeScript.
78. Как интегрировать Playwright в CI/CD pipeline?
Ответ: Использовать Playwright Test Runner и подключить к CI/CD инструментам (GitHub Actions, Jenkins, CircleCI и др.).
79. Как выполнять отладку тестов в Playwright?
Ответ: Использовать test(‘name’, async ({ page }) => { await page.pause(); });
80. Как обрабатывать сетевые ошибки в Playwright?
Ответ: Использовать page.on(‘requestfailed’, request => console.log(request.url()));
81. Как запускать тесты в headless-режиме в Playwright?
Ответ: Запустить браузер с параметром { headless: true }.
82. Как перехватывать сетевой трафик в Playwright?
Ответ: page.on(‘response’, response => console.log(response.url()));
83. Как получить куки в Playwright?
Ответ: const cookies = await context.cookies();
84. Как записать данные в localStorage в Playwright?
Ответ: await page.evaluate(() => localStorage.setItem(‘key’, ‘value’));
85. Как получить данные из localStorage в Playwright?
Ответ: const value = await page.evaluate(() => localStorage.getItem(‘key’));
86. Как получить тело сетевого запроса в Playwright?
Ответ: Использовать page.on(‘request’, request => request.postData());
87. Как обрабатывать несколько загрузок файлов в Playwright?
Ответ: await page.waitForEvent(‘download’);
88. Как работать с popup-окнами в Playwright?
Ответ: page.on(‘popup’, popup => /* handle popup */);
89. Как измерить время загрузки страницы в Playwright?
Ответ: Использовать метрики производительности с помощью page.evaluate(() => performance.timing);
90. Как обрабатывать редиректы в Playwright?
Ответ: Использовать page.on(‘response’, response => response.url());
91. Как работать с CSP (Content Security Policy) в Playwright?
Ответ: Использовать page.setExtraHTTPHeaders({ ‘Content-Security-Policy’: ‘default-src “self”’ });
92. Как работать с service workers в Playwright?
Ответ: await context.serviceWorkers();
93. Как проверить код статуса сетевого ответа в Playwright?
Ответ: page.on(‘response’, response => response.status());
94. Как получить HTTP-заголовки сетевого запроса в Playwright?
Ответ: page.on(‘request’, request => console.log(request.headers()));
Перевод статьи «101 top Playwright JavaScript automation interview questions with one-liner answers».