Как использовать Playwright (с асинхронными методами) и Pytest для создания тестов E2E?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать Playwright (с асинхронными методами) и Pytest для создания тестов E2E?

Сообщение Anonymous »

Я создаю набор тестов для тестов E2E, которые проверяют сетевые запросы при навигации и взаимодействии с веб-сайтом. Я использую Playwright с async и использую conftest.py для настройки браузера (каждый тест будет использовать браузер), но я не знаю, как это сделать, чтобы разрешить использование тестовых методов в тесте. класс использует тот же контекст браузера, поэтому я могу разделить тесты, продолжая при этом предыдущий тест (сохраняя состояние входа и текущую страницу).
# conftest.py
import pytest
from playwright.async_api import async_playwright

@pytest.fixture(scope='class')
async def setup_browser(request: pytest.FixtureRequest):
async with async_playwright() as pw:
browser = await pw.chromium.launch(
headless=headless,
args=['--start-maximized', '--start-fullscreen']
)
context = await browser.new_context()
page = await context.new_page()
yield page
await browser.close()

# test_request_collector.py
import pytest
from helpers.request_handler import RequestHandler

class TestNetworkRequests:
@pytest.mark.asyncio
async def test_capture_network_requests_first_page(self, setup_browser):
async for page in setup_browser:
self.page = page
request_handler = RequestHandler()
trigger = self.page.goto("https://google.com")
requests = await request_handler.return_requests(self.page, trigger)
await request_handler.print_requests(requests)
assert requests is not None

@pytest.mark.asyncio
async def test_capture_network_requests_second_page(self, setup_browser):
async for page in setup_browser:
self.page = page
request_handler = RequestHandler()
trigger = self.page.goto("https://bing.com")
requests = await request_handler.return_requests(self.page, trigger)
await request_handler.print_requests(requests)
assert requests is not None


Подробнее здесь: https://stackoverflow.com/questions/793 ... -e2e-tests
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как работать с асинхронными методами в Media Foundation?
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Тест Playwright E2E не сбои в CI с реальным потоком входа Auth0 на Localhost
    Anonymous » » в форуме Javascript
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Тест Playwright E2E не сбои в CI с реальным потоком входа Auth0 на Localhost
    Anonymous » » в форуме Javascript
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Каковы различия между синхронизацией Python Playwright и асинхронными API?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Должны ли ожидаемые результаты E2E-тестов быть жестко закодированы или рассчитаны?
    Anonymous » » в форуме JAVA
    0 Ответы
    91 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»