Драматург: Остановить, если http-статус 500

Я бы хотел, чтобы драматург потерпел неудачу раньше, и остановился, как только один http-запрос не будет 200 или же 302.

      def test_it(live_server):
    os.environ['DEBUG']='pw:api'
    with sync_playwright() as playwright:
        run_test_id(live_server, playwright)

def run_test_id(live_server, playwright):
    browser = playwright.webkit.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto(live_server.url)
    page.click("text=Create Test Data")

к несчастью page.click() возвращает None, поэтому я понятия не имею, как я могу проверить http-статус щелчка.

Как я могу реализовать «Сбой при необычном статусе http» в Playwright?

1 ответ

Возможен вариант использования <tcode id="22866898"></tcode>:

      def handle_response(response):
    print(f"{response.status}")
    if response.status == 500:
        exit(1)

page.on("response", handle_request)

Однако это проверяет не только код состояния после щелчка, но и любой ответ на запрос, например, если ваш page.goto() возвращает 500, он также остановится здесь.

(Я больше привык к Playwright с JS, поэтому мой пример может быть немного неточным.)

Другие вопросы по тегам