Tutorial básico de pytest-playwright (1) - instalación y uso simple
Estructura de este artículo
1. Cómo instalar Dramaturgo
2. Cómo ejecutar el caso de prueba
3. Breve introducción del accesorio
una breve introducción
Este tutorial es principalmente un tutorial del sitio web oficial traducido
Adjunte el enlace del documento oficial: Instalación | Playwright Python
Cómo instalar Dramaturgo
Entrar en la terminal de pycharm
pip install pytest-playwright
Solo espera la instalación
Una vez completada la instalación, ingrese en la terminal
playwright install
Instale el controlador del navegador que viene con el dramaturgo
Cómo ejecutar el caso de prueba
Cree un archivo test_my_application.py
llamado e ingrese el siguiente contenido
import re
from playwright.sync_api import Page, expect
def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page(page: Page):
page.goto("https://playwright.dev/")
# 查找是否存在标题 为"Playwright".
expect(page).to_have_title(re.compile("Playwright"))
# 创建一个定位器实例
get_started = page.get_by_role("link", name="Get started")
# 严格查找一个值"/docs/intro".
expect(get_started).to_have_attribute("href", "/docs/intro")
# 点击 get_started 按钮.
get_started.click()
# 判断该链接中是否包含"intro".
expect(page).to_have_url(re.compile(".*intro"))
Escriba en la terminal
pytest
ejecutar caso de prueba
De forma predeterminada, se usará el kernel de cromo para ejecutar el caso de prueba, y el modo predeterminado es sin cabeza, es decir, la página no se mostrará. El resultado final se mostrará en la terminal.
El rol de la expect()
función es: esperar hasta que se cumpla la condición esperada
Usando el accesorio de prueba de pytest
import pytest
from playwright.sync_api import Page
@pytest.fixture(scope="function", autouse=True)
def before_each_after_each(page: Page):
print("beforeEach")
# Go to the starting url before each test.
page.goto("https://playwright.dev/")
yield
print("afterEach")
def test_main_navigation(page: Page):
# Assertions use the expect API.
expect(page).to_have_url("https://playwright.dev/")
@pytest.fixture(scope="function",autouse=True)
Su función es permitir que cada caso de prueba use la función decorada por este decorador para lograr la reutilización del código.
Introducción de parámetros:
scope = "function"
La función de significa que el uso de este accesorio es cuando se ejecuta cada función de prueba
autouse = True
Indica que este accesorio encuentra automáticamente casos de prueba calificados, los ejecuta automáticamente y no necesita volver a llamar a esta función
Entre ellos, el código yield
anterior se ejecuta antes del caso de prueba yield
y el código posterior se ejecuta después del caso de prueba.
El efecto de ejecución es el siguiente
Resumir
Este artículo presenta cómo comenzar a usar playwright+pytest para pruebas simples y también presenta el uso de accesorios en pytest, con la esperanza de ayudar a todos (●'◡'●)