Вопросы на собеседовании по Playwright JavaScript с короткими ответами

Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ РАБОТА ДЛЯ ТЕСТИРОВЩИКА.ВАКАНСИИ

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».

🔥 Какой была ваша первая зарплата в QA и как вы искали первую работу? 

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Читать в телеграм

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *