Hướng dẫn playwright codegen python

Playwright comes with the ability to generate tests out of the box and is a great way to quickly get started with testing. It will open two windows, a browser window where you interact with the website you wish to test and the Playwright Inspector window where you can record your tests, copy the tests, clear your tests as well as change the language of your tests.

Running Codegen​

playwright codegen playwright.dev

Run codegen and perform actions in the browser. Playwright will generate the code for the user interactions. Codegen will attempt to generate resilient text-based selectors.

Hướng dẫn playwright codegen python

Emulate viewport size​

Playwright opens a browser window with it's viewport set to a specific width and height and is not responsive as tests need to be run under the same conditions. Use the --viewport option to generate tests with a different viewport size.

playwright codegen --viewport-size=800,600 playwright.dev

Hướng dẫn playwright codegen python

Emulate devices​

Record scripts and tests while emulating a mobile device using the --device option which sets the viewport size and user agent among others.

playwright codegen --device="iPhone 11" playwright.dev

Hướng dẫn playwright codegen python

Emulate color scheme​

Record scripts and tests while emulating the color scheme with the --color-scheme option.

playwright codegen --color-scheme=dark playwright.dev

Hướng dẫn playwright codegen python

Emulate geolocation, language and timezone​

Record scripts and tests while emulating timezone, language & location using the --timezone, --geolocation and --lang options. Once page opens, click the "show your location" icon at them bottom right corner of the map to see geolocation in action.

playwright codegen --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com

Hướng dẫn playwright codegen python

Preserve authenticated state​

Run codegen with --save-storage to save cookies and localStorage at the end of the session. This is useful to separately record an authentication step and reuse it later in the tests.

After performing authentication and closing the browser, auth.json will contain the storage state.

playwright codegen --save-storage=auth.json

Hướng dẫn playwright codegen python

Run with --load-storage to consume previously loaded storage. This way, all cookies and localStorage will be restored, bringing most web apps to the authenticated state without the need to login again.

playwright codegen --load-storage=auth.json github.com/microsoft/playwright

Hướng dẫn playwright codegen python

Use the open command with --load-storage to open the saved auth.json.

playwright open --load-storage=auth.json github.com/microsoft/playwright

Record using custom setup​

If you would like to use codegen in some non-standard setup (for example, use browser_context.route(url, handler, **kwargs)), it is possible to call page.pause() that will open a separate window with codegen controls.

  • Sync
  • Async

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
# Make sure to run headed.
browser = p.chromium.launch(headless=False)

# Setup context however you like.
context = browser.new_context() # Pass any options
context.route('**/*', lambda route: route.continue_())

# Pause the page, and start recording manually.
page = context.new_page()
page.pause()