tutorial básico de dramaturgo

dramaturgo

introducir

Playwright es una herramienta de prueba automatizada desarrollada por Microsoft que se puede utilizar para probar aplicaciones web. Admite múltiples lenguajes de programación y múltiples navegadores, incluidos Chrome, Firefox y WebKit. Proporciona un conjunto de API que permiten a los desarrolladores simular acciones del usuario en el navegador, como hacer clic, ingresar texto y navegar a diferentes páginas, al mismo tiempo que capturan capturas de pantalla y videos.

Las características clave de Playwright incluyen:

  1. Compatibilidad con varios navegadores: Playwright admite varios navegadores, incluidos Chrome, Firefox y WebKit. Esto significa que los desarrolladores pueden realizar pruebas automatizadas en diferentes navegadores sin cambiar el código de prueba.

  2. Compatibilidad con varios idiomas: Playwright admite varios lenguajes de programación, incluidos JavaScript, TypeScript, Python y Java. Esto permite a los desarrolladores escribir pruebas automatizadas utilizando su idioma preferido.

  3. Mecanismo de espera incorporado: Playwright tiene un mecanismo de espera incorporado que espera automáticamente la carga de la página, las solicitudes de red y la visibilidad de los elementos. Esto permite a los desarrolladores escribir pruebas más estables sin tener que agregar tiempos de espera manualmente.

  4. Capturas de pantalla y grabaciones de vídeo: Playwright puede realizar capturas de pantalla y grabaciones de vídeo. Esto es útil para depurar casos en los que las pruebas fallan y puede ayudar a los desarrolladores a encontrar problemas más rápido.

  5. Ejecución rápida: Playwright se basa en el protocolo Chrome DevTools y puede aprovechar las capacidades del protocolo Chrome DevTools.

Playwright se puede utilizar en una variedad de escenarios de automatización del navegador, incluidas tareas de prueba, rastreo, extracción de datos y automatización. Proporciona un control total sobre el navegador, incluidos los niveles de red y de página del navegador, lo que permite a los desarrolladores controlar y simular de manera más granular las operaciones e interacciones del usuario. En el campo de las pruebas, Playwright se caracteriza por ser rápido, confiable y escalable, y admite la ejecución en múltiples navegadores y la ejecución paralela, lo que puede mejorar en gran medida la eficiencia de las pruebas.

Además de las operaciones básicas del navegador, Playwright también proporciona algunos usos avanzados, que incluyen:

  1. Grabación de video: puede grabar las operaciones de pantalla del navegador y guardarlas en forma de video.
  2. Seguimiento de la línea de tiempo: cada solicitud de red y evento DOM del navegador se puede registrar y mostrar en forma de una línea de tiempo.
  3. Ejecución paralela global: se pueden ejecutar varias instancias del navegador simultáneamente para acelerar la ejecución de la prueba.
  4. Instancia de navegador personalizada: la configuración de inicio de la instancia del navegador se puede personalizar para satisfacer las necesidades de prueba.

Uso básico

Introduzca texto en el cuadro de entrada

Puede utilizar fill()métodos para ingresar texto en cuadros de entrada. Por ejemplo:

await page.fill('input[name="username"]', 'testuser')

Este código ingresará el texto "usuario de prueba" en el cuadro de entrada llamado "nombre de usuario".

Haga clic en el elemento de la página

Puede utilizar click()métodos para hacer clic en elementos de la página. Por ejemplo:

await page.click('button[id="submit"]')

Este código hará clic en el botón con el ID "enviar" en la página.

Seleccione una opción de la lista desplegable

Puede utilizar selectOption()métodos para seleccionar opciones de las listas desplegables. Por ejemplo:

await page.selectOption('select[name="country"]', 'USA')

Este código seleccionará la opción "EE.UU." de la lista desplegable denominada "país".

Simular la entrada del teclado

Puede utilizar keyboardobjetos para simular la entrada del teclado. Por ejemplo:

await page.keyboard.type('hello')

Este código ingresará el texto "hola" en el elemento actualmente enfocado.

Simular operaciones del mouse

Puede utilizar mouseobjetos para simular las operaciones del mouse. Por ejemplo:

await page.mouse.click(100, 100)

Este código hará clic con el mouse en una ubicación de la pantalla donde la coordenada x es 100 y la coordenada y es 100.

Uso de Playwright para la interacción con la página

El uso de Playwright puede facilitar la interacción de la página, que solo requiere los siguientes pasos:

  • Crea un objeto de navegador:from playwright.sync_api import Playwright, sync_playwright_with_timeout; browser_type = sync_playwright_with_timeout().start().chromium; browser = browser_type.launch(headless=True)

  • Crea un objeto de página:page = browser.new_page()

  • Ingrese una página:page.goto('https://www.example.com')

  • Haga clic en un elemento:page.click('#element-id')

  • Ingrese texto:page.type('#input-id', 'text')

  • Pausar la ejecución:page.pause()

  • Cierra el navegador:browser.close()

Demostración real

A continuación se muestran algunos tutoriales sencillos de demostración de Playwright:

1. Abra el navegador

from playwright.sync_api import Playwright, sync_playwright_with_timeout
with sync_playwright_with_timeout() as playwright:
    browser = playwright.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://www.google.com")
    print(page.title())
    browser.close()

Este ejemplo demuestra cómo abrir el navegador Chromium y abrir la página de inicio de Google. headless=FalseParámetro significa iniciar el navegador de forma visible.

2. Buscar palabras clave

from playwright.sync_api import Playwright, sync_playwright_with_timeout
with sync_playwright_with_timeout() as playwright:
    browser = playwright.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://www.google.com")
    page.fill('input[name="q"]', "Python Playwright")
    page.press('input[name="q"]', "Enter")
    results = page.wait_for_selector("#search")
    print(results.text_content())
    browser.close()

Este ejemplo demuestra cómo buscar palabras clave y obtener resultados de búsqueda. page.fill()El método y page.press()se utiliza para ingresar y enviar palabras clave en el cuadro de búsqueda, y page.wait_for_selector()el método se usa para esperar a que se cargue la página de resultados de búsqueda y devolver el elemento de resultado. results.text_content()Devuelve el contenido del texto de los resultados de la búsqueda.

3. Captura de pantalla

from playwright.sync_api import Playwright, sync_playwright_with_timeout
with sync_playwright_with_timeout() as playwright:
    browser = playwright.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://www.google.com")
    page.screenshot(path="google.png")
    browser.close()

Este ejemplo demuestra cómo tomar una captura de pantalla de una página abierta. page.screenshot()El método se utiliza para tomar una captura de pantalla de la página y guardarla en la ruta especificada.

Estos son algunos tutoriales de demostración sencillos de Playwright que pueden ayudarle a comprender el uso básico de Playwright. Para un uso más avanzado, consulte la documentación oficial de Playwright: https://playwright.dev/docs/

4. Múltiples saltos de página

Esta demostración muestra cómo navegar entre varias páginas, como saltar a otra página después de iniciar sesión.

import asyncio
from playwright.async_api import Playwright, async_playwright

async def navigate_to_another_page(playwright: Playwright):
    # 启动浏览器
    browser = await playwright.chromium.launch(headless=False)
    page = await browser.new_page()

    # 打开第一个页面
    await page.goto('https://example.com')

    # 在第一个页面上点击链接
    await page.click('a')
    # 等待页面加载完成
    await page.wait_for_selector('#second-page')

    # 获取新页面
    pages = await browser.pages()
    new_page = pages[-1]

    # 在新页面上执行操作
    await new_page.fill('#username', 'John Doe')
    await new_page.fill('#password', 'password')
    await new_page.click('#login')

    # 关闭浏览器
    await browser.close()

async with async_playwright() as playwright:
    asyncio.run(navigate_to_another_page(playwright))

4. Carga de archivos

Esta demostración muestra cómo simular la carga de archivos en Playwright, como cargar archivos en un formulario.

import asyncio
from pathlib import Path
from playwright.async_api import Playwright, async_playwright

async def upload_file(playwright: Playwright):
    # 启动浏览器
    browser = await playwright.chromium.launch(headless=False)
    page = await browser.new_page()

    # 打开上传页面
    await page.goto('https://example.com/upload')

    # 选择文件并上传
    file_path = Path('/path/to/file')
    input_element = await page.query_selector('input[type=file]')
    await input_element.set_input_files(str(file_path))
    await page.click('input[type=submit]')

    # 等待页面加载完成
    await page.wait_for_selector('#upload-success')

    # 关闭浏览器
    await browser.close()

async with async_playwright() as playwright:
    asyncio.run(upload_file(playwright))

5. Simular dispositivos móviles

Esta demostración muestra cómo simular dispositivos móviles en Playwright, como ejecutar pruebas en un navegador móvil.

import asyncio
from playwright.async_api import Playwright, async_playwright

async def simulate_mobile_device(playwright: Playwright):
    # 启动浏览器
    browser = await playwright.chromium.launch(headless=False)
    context = await browser.new_context(
        **playwright.devices['iPhone 11 Pro'],
        viewport=playwright.devices['iPhone 11 Pro']['viewport']
    )
    page = await context.new_page()

    # 在手机浏览器上打开页面
    await page.goto('https://example.com')

    # 在手机浏览器上执行操作
    await page.fill('#username', 'John Doe')
    await page.fill('#password', 'password')
    await page.click('#login')

    # 关闭浏览器
    await browser.close()

async with async_playwright() as playwright:
    asyncio.run(simulate_mobile_device(playwright))

6. Capturas de pantalla automatizadas

Playwright se puede utilizar para automatizar capturas de pantalla muy fácilmente, solo requiere los siguientes pasos:

  • Instalar dramaturgo:pip install playwright
  • Crea un objeto de navegador:from playwright.sync_api import Playwright, sync_playwright_with_timeout; browser_type = sync_playwright_with_timeout().start().chromium; browser = browser_type.launch(headless=True)
  • Crea un objeto de página:page = browser.new_page()
  • Ingrese una página:page.goto('https://www.example.com')
  • Capture la página completa:page.screenshot(path='example.png')
  • Cierra el navegador:browser.close()

Ejemplo de código completo:

from playwright.sync_api import Playwright, sync_playwright_with_timeout
# 启动浏览器
browser_type = sync_playwright_with_timeout().start().chromium
browser = browser_type.launch(headless=True)

# 创建页面对象
page = browser.new_page()

# 进入页面并截图
page.goto('https://www.example.com')
page.screenshot(path='example.png')

# 关闭浏览器
browser.close()

7. Utilice Playwright para completar y enviar formularios

Usar Playwright para completar y enviar formularios es fácil y solo requiere los siguientes pasos:

  • Crea un objeto de navegador:from playwright.sync_api import Playwright, sync_playwright_with_timeout; browser_type = sync_playwright_with_timeout().start().chromium; browser = browser_type.launch(headless=True)
  • Crea un objeto de página:page = browser.new_page()
  • Ingrese una página:page.goto('https://www.example.com')
  • Rellenar el formulario:page.fill('#username', 'myusername')
  • enviar formulario:page.click('button[type="submit"]')
  • Cierra el navegador:browser.close()

Ejemplo de código completo:

from playwright.sync_api import Playwright, sync_playwright_with_timeout

# 启动浏览器
browser_type = sync_playwright_with_timeout().start().chromium
browser = browser_type.launch(headless=True)

# 创建页面对象
page = browser.new_page()

# 进入页面并填写表单
page.goto('https://www.example.com')
page.fill('#username', 'myusername')

# 提交表单
page.click('button[type="submit"]')

# 关闭浏览器
browser.close()

Resumen complementario

1. Utilice la función de grabación de Playwright para generar guiones de prueba automáticamente.

Playwright proporciona una herramienta de grabación que puede realizar algunas operaciones en el navegador y generar automáticamente guiones de prueba, lo que puede reducir en gran medida el tiempo y el esfuerzo de escribir guiones de prueba. Para conocer métodos de uso específicos, consulte la documentación oficial de Playwright.

2. Utilice la función de captura de pantalla incorporada de Playwright para realizar capturas de pantalla durante la prueba.

Playwright proporciona una función de captura de pantalla incorporada que puede realizar capturas de pantalla en cualquier momento durante el proceso de prueba para facilitar el análisis y la resolución de problemas posteriores. Para conocer métodos de uso específicos, consulte la documentación oficial de Playwright.

3. Utilice la compatibilidad con varios idiomas de Playwright, como Python, Java, C#, etc.

Playwright proporciona soporte en varios idiomas, por lo que puede escribir scripts de prueba en el lenguaje de programación con el que esté más familiarizado, como Python, Java, C#, etc. Para conocer métodos de uso específicos, consulte la documentación del idioma correspondiente en la documentación oficial de Playwright.

4. Utilice la compatibilidad con múltiples navegadores de Playwright, como Chrome, Firefox, Edge, etc.

Playwright proporciona soporte para múltiples navegadores, puede usar múltiples navegadores para ejecutar scripts de prueba, como Chrome, Firefox, Edge, etc. Para conocer métodos de uso específicos, consulte la documentación oficial de Playwright.

5. Utilice el modo sin cabeza de Playwright para ejecutar scripts de prueba en un navegador sin cabeza.

Playwright proporciona un modo sin cabeza que puede ejecutar scripts de prueba en un navegador sin cabeza, lo que puede mejorar en gran medida la eficiencia de las pruebas y reducir el consumo de recursos al ejecutar scripts de prueba. Para conocer métodos de uso específicos, consulte la documentación oficial de Playwright.

6. Utilice la función de interceptación de red de Playwright para simular diferentes entornos de red y probar solicitudes de red.

Playwright proporciona una función de interceptación de red que puede simular diferentes entornos de red y probar solicitudes de red, como simular redes lentas, simular fallas de solicitud, etc. Para conocer métodos de uso específicos, consulte la documentación oficial de Playwright.

7. Utilice la compatibilidad con varias páginas de Playwright para probar aplicaciones complejas de varias páginas.

Playwright proporciona soporte para varias páginas para probar aplicaciones complejas de varias páginas, como interacciones entre páginas, navegación entre páginas, etc. Para conocer métodos de uso específicos, consulte la documentación oficial de Playwright.

Supongo que te gusta

Origin blog.csdn.net/qq_46158060/article/details/130621770
Recomendado
Clasificación