Добавить куки с помощью драматурга + pytestPython

Программы на Python
Anonymous
Добавить куки с помощью драматурга + pytest

Сообщение Anonymous »

Мне нужна помощь с запуском браузера с добавленными файлами cookie.
Моя платформа написана на Python — playwright + pytest. Когда я пытаюсь использовать

Код: Выделить всё

browser_context.add_cookies([cookie_object1, cookie_object2])
https://playwright.dev/python/docs/api/ ... dd-cookies
Я встречен с ошибкой. Похоже, вы используете Playwright Sync API внутри цикла asyncio.
Я запускаю тесты следующим образом:

Код: Выделить всё

from playwright.sync_api import Page, sync_playwright
class SignInPage:

def __init__(self, page: Page) -> None:
self.page = page
self.email_address_input = page.get_by_label("xxx")
self.password_input = page.get_by_label("xxx")
self.continue_btn = page.get_by_role("button", name="xxx")

def load_login_page(self):
self.page.goto(url)
и тогда тест выглядит так:

Код: Выделить всё

def test_sign_in(
page: Page,
sign_in_page: SignInPage,
) -> None:

sign_in_page.load_login_page()
expect(page).to_have_title("xxx")
в моем конкурсе у меня определено приспособление:

Код: Выделить всё

@pytest.fixture
def sign_in_page(page: Page) -> SignInPage:
return SignInPage(page)
мне нужно загрузить страницу с определенным файлом cookie. пытаюсь сделать следующее

Код: Выделить всё

with sync_playwright() as p:
browser = p.webkit.launch()
page = browser.new_page()
page.goto("xxx")

new_cookies = {
'name': 'xxx',
'value': 'xxx',
'domain': 'xxx',
'path': ''
}
page.context.add_cookies([new_cookies])
browser.close()
Приводит к ошибке, упомянутой выше. Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/785 ... ght-pytest

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