Посмотрите избранные исторические статьи ниже
Большой релиз - Руководство по основам платформы автоматизацииpdfv1.1 Процесс тестирования больших данных, стратегии и проблемы
Принципы фреймворка тестирования – краеугольный камень успеха
10 советов, которые следует знать перед работой над автоматизированным тестированием
В автоматизированном тестировании важны не инструменты.
Что такое драматург
Playwright — это библиотека Node.js, предоставляющая высокоуровневый API для автоматизации операций в браузерах Chromium, Firefox и WebKit. API Python Playwright — это версия Playwright для Python, которая предоставляет тот же набор API, что и версия Node.js, для использования в Python.
Цель Python Playwright API — предоставить высокоуровневый API, который позволяет разработчикам легко и быстро писать автоматическое тестирование, сканирование данных, автозаполнение форм и другие задачи для веб-приложений.
Установить Драматург
в использовании Python Playwright API Прежде необходимо установить Драматург。Установить Метод заключается в следующем:
!pip install playwright
После завершения установки вам необходимо скачать и установить браузеры Chromium, Firefox и WebKit. Для загрузки можно использовать следующую команду:
from playwright import async_playwright
async def main():
async with async_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = await browser_type.launch()
page = await browser.newPage()
await page.goto('https://example.com')
await browser.close()
asyncio.run(main())
Эта команда автоматически загрузит и установит браузеры Chromium, Firefox и WebKit.
3. Используйте Драматург
Используя Python Playwright API, вы можете автоматизировать действия в браузере, выполнив следующие действия:
Вот пример кода, показывающий, как использовать Playwright для открытия веб-страницы в браузере, заполнения и отправки формы:
from playwright.sync_api import Playwright, Browser, Page
def run(playwright: Playwright) -> None:
with playwright.chromium.launch() as browser:
with browser.new_context() as context:
with context.new_page() as page:
page.goto('https://github.com/login')
page.fill('#login_field', 'your-username')
page.fill('#password', 'your-password')
page.click('button[type="submit"]')
# Wait for navigation to finish
page.wait_for_selector('"#your-profile-link"')
print(page.title())
if __name__ == '__main__':
from playwright.sync_api import Playwright, sync_playwright
with sync_playwright() as playwright:
run(playwright)
В этом примере кода браузер Chromium используется для открытия страницы входа в GitHub, ввода имени пользователя и пароля и нажатия кнопки «Отправить». Затем дождитесь завершения перехода на страницу и распечатайте заголовок текущей страницы.
4. Подробное объяснение API драматурга.
4.1 Работа браузера
Вот как открыть браузер с помощью Playwright:
from playwright.sync_api import Playwright, Browser
with playwright.chromium.launch() as browser:
# do something
Этот код откроет новое окно браузера с использованием браузера Chromium.
4.2 Операции со страницами
Вот как открыть страницу с помощью Playwright:
from playwright.sync_api import Playwright, Browser, Page
with browser.new_context() as context:
with context.new_page() as page:
page.goto('https://example.com')
Этот код откроет новую страницу в текущем браузере и перейдет на сайт example.com.
4.3 Ожидание операции
При тестировании часто приходится ждать загрузки страницы или появления элемента. Используя Playwright, ожидания можно добиться с помощью следующего кода:
from playwright.sync_api import Playwright, Browser, Page
with browser.new_context() as context:
with context.new_page() as page:
page.goto('https://example.com')
page.wait_for_selector('#some-element')
Этот код будет ждать появления элемента с идентификатором some-element на веб-странице, прежде чем продолжить выполнение последующего кода.
4.4 Операции с элементами
С помощью Playwright вы можете выполнять различные операции над элементами на странице, например, кликать, заполнять, делать скриншоты и т.д. Следующий код показывает, как работать с элементами на странице:
from playwright.sync_api import Playwright, Browser, Page
with browser.new_context() as context:
with context.new_page() as page:
page.goto('https://example.com')
page.fill('#username', 'your-username')
page.fill('#password', 'your-password')
page.click('#login-button')
page.screenshot(path='screenshot.png')
Этот код заполнит имя пользователя и пароль на веб-сайте example.com и нажмет кнопку входа в систему. После успешного входа будет сделан скриншот страницы.
4.5 Асинхронные операции
Playwright поддерживает асинхронные операции, чего можно добиться с помощью следующего кода:
from playwright.async_api import Playwright, async_playwright
async def main() -> None:
async with async_playwright() as playwright:
browser = await playwright.chromium.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto('https://example.com')
await browser.close()
asyncio.run(main())
Этот код асинхронно открывает веб-сайт example.com с помощью браузера Chromium и закрывает браузер после завершения операции.
5. Резюме
API Python Playwright — это усовершенствованный инструмент автоматического тестирования и очистки данных, который предоставляет тот же набор API, что и версия Node.js, для использования в Python. С помощью Python Playwright API вы можете быстро и легко писать автоматизированное тестирование, сканирование данных, автозаполнение форм и другие задачи для веб-приложений.
В этой статье мы покажем, как установить Python Playwright API, использовать Playwright для открытия браузеров и страниц, ожидания загрузки страницы, управления элементами страницы и других операций. В то же время мы также рассказали, как использовать асинхронные операции для повышения эффективности выполнения кода.