1 changed files with 37 additions and 0 deletions
@ -0,0 +1,37 @@ |
|||||
|
import subprocess |
||||
|
import time |
||||
|
|
||||
|
import httpx |
||||
|
from playwright.sync_api import Playwright, sync_playwright |
||||
|
|
||||
|
|
||||
|
# Run playwright codegen to generate the code below, copy paste the sections in run() |
||||
|
def run(playwright: Playwright) -> None: |
||||
|
browser = playwright.chromium.launch(headless=False) |
||||
|
# Update the viewport manually |
||||
|
context = browser.new_context(viewport={"width": 960, "height": 1080}) |
||||
|
page = context.new_page() |
||||
|
page.goto("http://localhost:8000/docs") |
||||
|
page.get_by_role("button", name="POST /data Post Data").click() |
||||
|
# Manually add the screenshot |
||||
|
page.screenshot(path="docs/en/docs/img/tutorial/json-base64-bytes/image01.png") |
||||
|
|
||||
|
# --------------------- |
||||
|
context.close() |
||||
|
browser.close() |
||||
|
|
||||
|
|
||||
|
process = subprocess.Popen( |
||||
|
["fastapi", "run", "docs_src/json_base64_bytes/tutorial001_py310.py"] |
||||
|
) |
||||
|
try: |
||||
|
for _ in range(3): |
||||
|
try: |
||||
|
response = httpx.get("http://localhost:8000/docs") |
||||
|
except httpx.ConnectError: |
||||
|
time.sleep(1) |
||||
|
break |
||||
|
with sync_playwright() as playwright: |
||||
|
run(playwright) |
||||
|
finally: |
||||
|
process.terminate() |
||||
Loading…
Reference in new issue