playwright-browserstack 1.56.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- playwright-browserstack-1.56.1/.azure-pipelines/guardian/SDL/.gdnsuppress +105 -0
- playwright-browserstack-1.56.1/.azure-pipelines/publish.yml +82 -0
- playwright-browserstack-1.56.1/.gitattributes +2 -0
- playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/bug.yml +96 -0
- playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/config.yml +5 -0
- playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/documentation.yml +29 -0
- playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/feature.yml +30 -0
- playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/question.yml +27 -0
- playwright-browserstack-1.56.1/.github/ISSUE_TEMPLATE/regression.yml +92 -0
- playwright-browserstack-1.56.1/.github/dependabot.yml +14 -0
- playwright-browserstack-1.56.1/.github/workflows/ci.yml +197 -0
- playwright-browserstack-1.56.1/.github/workflows/publish.yml +50 -0
- playwright-browserstack-1.56.1/.github/workflows/publish_docker.yml +41 -0
- playwright-browserstack-1.56.1/.github/workflows/test_docker.yml +58 -0
- playwright-browserstack-1.56.1/.gitignore +23 -0
- playwright-browserstack-1.56.1/.pre-commit-config.yaml +49 -0
- playwright-browserstack-1.56.1/CODE_OF_CONDUCT.md +9 -0
- playwright-browserstack-1.56.1/CONTRIBUTING.md +78 -0
- playwright-browserstack-1.56.1/LICENSE +202 -0
- playwright-browserstack-1.56.1/LICENSE.txt +51 -0
- playwright-browserstack-1.56.1/NOTICE +18 -0
- playwright-browserstack-1.56.1/PKG-INFO +78 -0
- playwright-browserstack-1.56.1/README.md +54 -0
- playwright-browserstack-1.56.1/RELEASING.md +126 -0
- playwright-browserstack-1.56.1/ROLLING.md +25 -0
- playwright-browserstack-1.56.1/SECURITY.md +41 -0
- playwright-browserstack-1.56.1/SUPPORT.md +17 -0
- playwright-browserstack-1.56.1/conda_build_config_linux_aarch64.yaml +2 -0
- playwright-browserstack-1.56.1/conda_build_config_osx_arm64.yaml +2 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/__init__.py +0 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_clear_completed_button.py +51 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_counter.py +41 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_editing.py +97 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_item.py +89 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_mark_all_as_completed.py +84 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_new_todo.py +89 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_persistence.py +48 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/test_routing.py +94 -0
- playwright-browserstack-1.56.1/examples/todomvc/mvctests/utils.py +41 -0
- playwright-browserstack-1.56.1/examples/todomvc/requirements.txt +1 -0
- playwright-browserstack-1.56.1/local-requirements.txt +22 -0
- playwright-browserstack-1.56.1/meta.yaml +61 -0
- playwright-browserstack-1.56.1/playwright/__init__.py +19 -0
- playwright-browserstack-1.56.1/playwright/__main__.py +33 -0
- playwright-browserstack-1.56.1/playwright/_impl/__init__.py +0 -0
- playwright-browserstack-1.56.1/playwright/_impl/__pyinstaller/__init__.py +20 -0
- playwright-browserstack-1.56.1/playwright/_impl/__pyinstaller/hook-playwright.async_api.py +17 -0
- playwright-browserstack-1.56.1/playwright/_impl/__pyinstaller/hook-playwright.sync_api.py +17 -0
- playwright-browserstack-1.56.1/playwright/_impl/_accessibility.py +69 -0
- playwright-browserstack-1.56.1/playwright/_impl/_android.py +625 -0
- playwright-browserstack-1.56.1/playwright/_impl/_api_structures.py +313 -0
- playwright-browserstack-1.56.1/playwright/_impl/_artifact.py +87 -0
- playwright-browserstack-1.56.1/playwright/_impl/_assertions.py +1031 -0
- playwright-browserstack-1.56.1/playwright/_impl/_async_base.py +105 -0
- playwright-browserstack-1.56.1/playwright/_impl/_browser.py +276 -0
- playwright-browserstack-1.56.1/playwright/_impl/_browser_context.py +758 -0
- playwright-browserstack-1.56.1/playwright/_impl/_browser_type.py +364 -0
- playwright-browserstack-1.56.1/playwright/_impl/_cdp_session.py +38 -0
- playwright-browserstack-1.56.1/playwright/_impl/_clock.py +104 -0
- playwright-browserstack-1.56.1/playwright/_impl/_connection.py +673 -0
- playwright-browserstack-1.56.1/playwright/_impl/_console_message.py +78 -0
- playwright-browserstack-1.56.1/playwright/_impl/_dialog.py +57 -0
- playwright-browserstack-1.56.1/playwright/_impl/_download.py +64 -0
- playwright-browserstack-1.56.1/playwright/_impl/_driver.py +41 -0
- playwright-browserstack-1.56.1/playwright/_impl/_element_handle.py +464 -0
- playwright-browserstack-1.56.1/playwright/_impl/_errors.py +60 -0
- playwright-browserstack-1.56.1/playwright/_impl/_event_context_manager.py +33 -0
- playwright-browserstack-1.56.1/playwright/_impl/_fetch.py +555 -0
- playwright-browserstack-1.56.1/playwright/_impl/_file_chooser.py +57 -0
- playwright-browserstack-1.56.1/playwright/_impl/_frame.py +897 -0
- playwright-browserstack-1.56.1/playwright/_impl/_glob.py +56 -0
- playwright-browserstack-1.56.1/playwright/_impl/_greenlets.py +49 -0
- playwright-browserstack-1.56.1/playwright/_impl/_har_router.py +122 -0
- playwright-browserstack-1.56.1/playwright/_impl/_helper.py +573 -0
- playwright-browserstack-1.56.1/playwright/_impl/_impl_to_api_mapping.py +142 -0
- playwright-browserstack-1.56.1/playwright/_impl/_input.py +111 -0
- playwright-browserstack-1.56.1/playwright/_impl/_js_handle.py +336 -0
- playwright-browserstack-1.56.1/playwright/_impl/_json_pipe.py +86 -0
- playwright-browserstack-1.56.1/playwright/_impl/_local_utils.py +93 -0
- playwright-browserstack-1.56.1/playwright/_impl/_locator.py +934 -0
- playwright-browserstack-1.56.1/playwright/_impl/_map.py +31 -0
- playwright-browserstack-1.56.1/playwright/_impl/_network.py +1029 -0
- playwright-browserstack-1.56.1/playwright/_impl/_object_factory.py +110 -0
- playwright-browserstack-1.56.1/playwright/_impl/_page.py +1546 -0
- playwright-browserstack-1.56.1/playwright/_impl/_path_utils.py +27 -0
- playwright-browserstack-1.56.1/playwright/_impl/_playwright.py +65 -0
- playwright-browserstack-1.56.1/playwright/_impl/_selectors.py +67 -0
- playwright-browserstack-1.56.1/playwright/_impl/_set_input_files_helpers.py +156 -0
- playwright-browserstack-1.56.1/playwright/_impl/_str_utils.py +76 -0
- playwright-browserstack-1.56.1/playwright/_impl/_stream.py +46 -0
- playwright-browserstack-1.56.1/playwright/_impl/_sync_base.py +151 -0
- playwright-browserstack-1.56.1/playwright/_impl/_tracing.py +146 -0
- playwright-browserstack-1.56.1/playwright/_impl/_transport.py +178 -0
- playwright-browserstack-1.56.1/playwright/_impl/_video.py +71 -0
- playwright-browserstack-1.56.1/playwright/_impl/_waiter.py +166 -0
- playwright-browserstack-1.56.1/playwright/_impl/_web_error.py +41 -0
- playwright-browserstack-1.56.1/playwright/_impl/_writable_stream.py +42 -0
- playwright-browserstack-1.56.1/playwright/_repo_version.py +21 -0
- playwright-browserstack-1.56.1/playwright/async_api/__init__.py +211 -0
- playwright-browserstack-1.56.1/playwright/async_api/_context_manager.py +57 -0
- playwright-browserstack-1.56.1/playwright/async_api/_generated.py +21271 -0
- playwright-browserstack-1.56.1/playwright/py.typed +0 -0
- playwright-browserstack-1.56.1/playwright/sync_api/__init__.py +211 -0
- playwright-browserstack-1.56.1/playwright/sync_api/_context_manager.py +98 -0
- playwright-browserstack-1.56.1/playwright/sync_api/_generated.py +21466 -0
- playwright-browserstack-1.56.1/playwright_browserstack.egg-info/PKG-INFO +78 -0
- playwright-browserstack-1.56.1/playwright_browserstack.egg-info/SOURCES.txt +429 -0
- playwright-browserstack-1.56.1/playwright_browserstack.egg-info/dependency_links.txt +1 -0
- playwright-browserstack-1.56.1/playwright_browserstack.egg-info/entry_points.txt +5 -0
- playwright-browserstack-1.56.1/playwright_browserstack.egg-info/requires.txt +2 -0
- playwright-browserstack-1.56.1/playwright_browserstack.egg-info/top_level.txt +1 -0
- playwright-browserstack-1.56.1/pyproject.toml +99 -0
- playwright-browserstack-1.56.1/requirements.txt +8 -0
- playwright-browserstack-1.56.1/scripts/documentation_provider.py +566 -0
- playwright-browserstack-1.56.1/scripts/example_async.py +30 -0
- playwright-browserstack-1.56.1/scripts/example_sync.py +28 -0
- playwright-browserstack-1.56.1/scripts/expected_api_mismatch.txt +22 -0
- playwright-browserstack-1.56.1/scripts/generate_api.py +333 -0
- playwright-browserstack-1.56.1/scripts/generate_async_api.py +140 -0
- playwright-browserstack-1.56.1/scripts/generate_sync_api.py +141 -0
- playwright-browserstack-1.56.1/scripts/update_api.sh +24 -0
- playwright-browserstack-1.56.1/scripts/update_versions.py +40 -0
- playwright-browserstack-1.56.1/setup.cfg +11 -0
- playwright-browserstack-1.56.1/setup.py +207 -0
- playwright-browserstack-1.56.1/tests/__init__.py +0 -0
- playwright-browserstack-1.56.1/tests/assets/beforeunload.html +9 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/README.md +7 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.csr +27 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.ext +1 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.key +52 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/localhost/localhost.pem +30 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/self-signed/cert.pem +28 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/self-signed/csr.pem +26 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/self-signed/key.pem +52 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/cert-legacy.pfx +0 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/cert.pem +29 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/cert.pfx +0 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/csr.pem +26 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/client/trusted/key.pem +52 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/generate.sh +88 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/server/server_cert.pem +32 -0
- playwright-browserstack-1.56.1/tests/assets/client-certificates/server/server_key.pem +52 -0
- playwright-browserstack-1.56.1/tests/assets/client.py +34 -0
- playwright-browserstack-1.56.1/tests/assets/consolelog.html +11 -0
- playwright-browserstack-1.56.1/tests/assets/csp.html +1 -0
- playwright-browserstack-1.56.1/tests/assets/digits/0.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/1.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/2.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/3.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/4.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/5.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/6.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/7.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/8.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/digits/9.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/dom.html +4 -0
- playwright-browserstack-1.56.1/tests/assets/download-blob.html +29 -0
- playwright-browserstack-1.56.1/tests/assets/drag-n-drop.html +40 -0
- playwright-browserstack-1.56.1/tests/assets/dummy_bad_browser_executable.js +3 -0
- playwright-browserstack-1.56.1/tests/assets/empty.html +0 -0
- playwright-browserstack-1.56.1/tests/assets/error.html +17 -0
- playwright-browserstack-1.56.1/tests/assets/es6/.eslintrc +5 -0
- playwright-browserstack-1.56.1/tests/assets/es6/es6import.js +2 -0
- playwright-browserstack-1.56.1/tests/assets/es6/es6module.js +1 -0
- playwright-browserstack-1.56.1/tests/assets/es6/es6pathimport.js +2 -0
- playwright-browserstack-1.56.1/tests/assets/extension-mv3-simple/content-script.js +2 -0
- playwright-browserstack-1.56.1/tests/assets/extension-mv3-simple/index.js +2 -0
- playwright-browserstack-1.56.1/tests/assets/extension-mv3-simple/manifest.json +14 -0
- playwright-browserstack-1.56.1/tests/assets/extension-mv3-with-logging/background.js +5 -0
- playwright-browserstack-1.56.1/tests/assets/extension-mv3-with-logging/content.js +1 -0
- playwright-browserstack-1.56.1/tests/assets/extension-mv3-with-logging/manifest.json +17 -0
- playwright-browserstack-1.56.1/tests/assets/file-to-upload-2.txt +1 -0
- playwright-browserstack-1.56.1/tests/assets/file-to-upload.txt +1 -0
- playwright-browserstack-1.56.1/tests/assets/frames/child-redirect.html +1 -0
- playwright-browserstack-1.56.1/tests/assets/frames/frame.html +15 -0
- playwright-browserstack-1.56.1/tests/assets/frames/frameset.html +8 -0
- playwright-browserstack-1.56.1/tests/assets/frames/nested-frames.html +30 -0
- playwright-browserstack-1.56.1/tests/assets/frames/one-frame.html +1 -0
- playwright-browserstack-1.56.1/tests/assets/frames/redirect-my-parent.html +3 -0
- playwright-browserstack-1.56.1/tests/assets/frames/script.js +1 -0
- playwright-browserstack-1.56.1/tests/assets/frames/style.css +3 -0
- playwright-browserstack-1.56.1/tests/assets/frames/two-frames.html +16 -0
- playwright-browserstack-1.56.1/tests/assets/geolocation.html +7 -0
- playwright-browserstack-1.56.1/tests/assets/global-var.html +3 -0
- playwright-browserstack-1.56.1/tests/assets/grid.html +52 -0
- playwright-browserstack-1.56.1/tests/assets/har-fulfill.har +366 -0
- playwright-browserstack-1.56.1/tests/assets/har-redirect.har +620 -0
- playwright-browserstack-1.56.1/tests/assets/har-sha1-main-response.txt +1 -0
- playwright-browserstack-1.56.1/tests/assets/har-sha1.har +95 -0
- playwright-browserstack-1.56.1/tests/assets/har.html +3 -0
- playwright-browserstack-1.56.1/tests/assets/headings.html +15 -0
- playwright-browserstack-1.56.1/tests/assets/historyapi.html +5 -0
- playwright-browserstack-1.56.1/tests/assets/injectedfile.js +3 -0
- playwright-browserstack-1.56.1/tests/assets/injectedstyle.css +3 -0
- playwright-browserstack-1.56.1/tests/assets/input/animating-button.html +42 -0
- playwright-browserstack-1.56.1/tests/assets/input/button.html +32 -0
- playwright-browserstack-1.56.1/tests/assets/input/checkbox.html +42 -0
- playwright-browserstack-1.56.1/tests/assets/input/fileupload-multi.html +12 -0
- playwright-browserstack-1.56.1/tests/assets/input/fileupload.html +12 -0
- playwright-browserstack-1.56.1/tests/assets/input/folderupload.html +12 -0
- playwright-browserstack-1.56.1/tests/assets/input/handle-locator.html +91 -0
- playwright-browserstack-1.56.1/tests/assets/input/keyboard.html +42 -0
- playwright-browserstack-1.56.1/tests/assets/input/mouse-helper.js +62 -0
- playwright-browserstack-1.56.1/tests/assets/input/rotatedButton.html +21 -0
- playwright-browserstack-1.56.1/tests/assets/input/scrollable.html +23 -0
- playwright-browserstack-1.56.1/tests/assets/input/select.html +69 -0
- playwright-browserstack-1.56.1/tests/assets/input/textarea.html +20 -0
- playwright-browserstack-1.56.1/tests/assets/input/touches.html +35 -0
- playwright-browserstack-1.56.1/tests/assets/mobile.html +1 -0
- playwright-browserstack-1.56.1/tests/assets/networkidle.html +1 -0
- playwright-browserstack-1.56.1/tests/assets/networkidle.js +12 -0
- playwright-browserstack-1.56.1/tests/assets/offscreenbuttons.html +55 -0
- playwright-browserstack-1.56.1/tests/assets/one-style.css +3 -0
- playwright-browserstack-1.56.1/tests/assets/one-style.html +2 -0
- playwright-browserstack-1.56.1/tests/assets/playground.html +15 -0
- playwright-browserstack-1.56.1/tests/assets/popup/popup.html +12 -0
- playwright-browserstack-1.56.1/tests/assets/popup/window-open.html +11 -0
- playwright-browserstack-1.56.1/tests/assets/pptr.png +0 -0
- playwright-browserstack-1.56.1/tests/assets/react/react-dom@16.13.1.production.min.js +239 -0
- playwright-browserstack-1.56.1/tests/assets/react/react@16.13.1.production.min.js +32 -0
- playwright-browserstack-1.56.1/tests/assets/react.html +33 -0
- playwright-browserstack-1.56.1/tests/assets/sectionselectorengine.js +10 -0
- playwright-browserstack-1.56.1/tests/assets/self-request.html +5 -0
- playwright-browserstack-1.56.1/tests/assets/serviceworkers/empty/sw.html +3 -0
- playwright-browserstack-1.56.1/tests/assets/serviceworkers/empty/sw.js +0 -0
- playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetch/style.css +3 -0
- playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetch/sw.html +5 -0
- playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetch/sw.js +7 -0
- playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetchdummy/sw.html +12 -0
- playwright-browserstack-1.56.1/tests/assets/serviceworkers/fetchdummy/sw.js +15 -0
- playwright-browserstack-1.56.1/tests/assets/shadow.html +17 -0
- playwright-browserstack-1.56.1/tests/assets/simple.json +1 -0
- playwright-browserstack-1.56.1/tests/assets/title.html +1 -0
- playwright-browserstack-1.56.1/tests/assets/worker/worker.html +14 -0
- playwright-browserstack-1.56.1/tests/assets/worker/worker.js +16 -0
- playwright-browserstack-1.56.1/tests/assets/wrappedlink.html +32 -0
- playwright-browserstack-1.56.1/tests/async/__init__.py +0 -0
- playwright-browserstack-1.56.1/tests/async/conftest.py +211 -0
- playwright-browserstack-1.56.1/tests/async/test_accessibility.py +388 -0
- playwright-browserstack-1.56.1/tests/async/test_add_init_script.py +91 -0
- playwright-browserstack-1.56.1/tests/async/test_assertions.py +1134 -0
- playwright-browserstack-1.56.1/tests/async/test_asyncio.py +101 -0
- playwright-browserstack-1.56.1/tests/async/test_browser.py +55 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext.py +832 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_add_cookies.py +436 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_clearcookies.py +198 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_client_certificates.py +268 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_cookies.py +229 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_events.py +208 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_proxy.py +161 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_request_fallback.py +297 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_request_intercept.py +194 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_route.py +516 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_service_worker_policy.py +37 -0
- playwright-browserstack-1.56.1/tests/async/test_browsercontext_storage_state.py +190 -0
- playwright-browserstack-1.56.1/tests/async/test_browsertype_connect.py +478 -0
- playwright-browserstack-1.56.1/tests/async/test_browsertype_connect_cdp.py +117 -0
- playwright-browserstack-1.56.1/tests/async/test_cdp_session.py +95 -0
- playwright-browserstack-1.56.1/tests/async/test_check.py +85 -0
- playwright-browserstack-1.56.1/tests/async/test_chromium_tracing.py +119 -0
- playwright-browserstack-1.56.1/tests/async/test_click.py +1113 -0
- playwright-browserstack-1.56.1/tests/async/test_console.py +152 -0
- playwright-browserstack-1.56.1/tests/async/test_context_manager.py +38 -0
- playwright-browserstack-1.56.1/tests/async/test_defaultbrowsercontext.py +463 -0
- playwright-browserstack-1.56.1/tests/async/test_device_descriptors.py +54 -0
- playwright-browserstack-1.56.1/tests/async/test_dialog.py +104 -0
- playwright-browserstack-1.56.1/tests/async/test_dispatch_event.py +191 -0
- playwright-browserstack-1.56.1/tests/async/test_download.py +388 -0
- playwright-browserstack-1.56.1/tests/async/test_element_handle.py +794 -0
- playwright-browserstack-1.56.1/tests/async/test_element_handle_wait_for_element_state.py +158 -0
- playwright-browserstack-1.56.1/tests/async/test_emulation_focus.py +151 -0
- playwright-browserstack-1.56.1/tests/async/test_expect_misc.py +80 -0
- playwright-browserstack-1.56.1/tests/async/test_extension.py +125 -0
- playwright-browserstack-1.56.1/tests/async/test_fetch_browser_context.py +375 -0
- playwright-browserstack-1.56.1/tests/async/test_fetch_global.py +555 -0
- playwright-browserstack-1.56.1/tests/async/test_fill.py +38 -0
- playwright-browserstack-1.56.1/tests/async/test_focus.py +110 -0
- playwright-browserstack-1.56.1/tests/async/test_frames.py +298 -0
- playwright-browserstack-1.56.1/tests/async/test_geolocation.py +136 -0
- playwright-browserstack-1.56.1/tests/async/test_har.py +806 -0
- playwright-browserstack-1.56.1/tests/async/test_headful.py +179 -0
- playwright-browserstack-1.56.1/tests/async/test_ignore_https_errors.py +39 -0
- playwright-browserstack-1.56.1/tests/async/test_input.py +509 -0
- playwright-browserstack-1.56.1/tests/async/test_issues.py +55 -0
- playwright-browserstack-1.56.1/tests/async/test_jshandle.py +230 -0
- playwright-browserstack-1.56.1/tests/async/test_keyboard.py +569 -0
- playwright-browserstack-1.56.1/tests/async/test_launcher.py +109 -0
- playwright-browserstack-1.56.1/tests/async/test_listeners.py +32 -0
- playwright-browserstack-1.56.1/tests/async/test_locators.py +1154 -0
- playwright-browserstack-1.56.1/tests/async/test_navigation.py +1122 -0
- playwright-browserstack-1.56.1/tests/async/test_network.py +922 -0
- playwright-browserstack-1.56.1/tests/async/test_page.py +1460 -0
- playwright-browserstack-1.56.1/tests/async/test_page_add_locator_handler.py +388 -0
- playwright-browserstack-1.56.1/tests/async/test_page_aria_snapshot.py +216 -0
- playwright-browserstack-1.56.1/tests/async/test_page_base_url.py +118 -0
- playwright-browserstack-1.56.1/tests/async/test_page_clock.py +487 -0
- playwright-browserstack-1.56.1/tests/async/test_page_evaluate.py +355 -0
- playwright-browserstack-1.56.1/tests/async/test_page_event_console.py +35 -0
- playwright-browserstack-1.56.1/tests/async/test_page_event_pageerror.py +36 -0
- playwright-browserstack-1.56.1/tests/async/test_page_event_request.py +62 -0
- playwright-browserstack-1.56.1/tests/async/test_page_network_request.py +63 -0
- playwright-browserstack-1.56.1/tests/async/test_page_network_response.py +72 -0
- playwright-browserstack-1.56.1/tests/async/test_page_request_fallback.py +368 -0
- playwright-browserstack-1.56.1/tests/async/test_page_request_gc.py +34 -0
- playwright-browserstack-1.56.1/tests/async/test_page_request_intercept.py +101 -0
- playwright-browserstack-1.56.1/tests/async/test_page_route.py +1234 -0
- playwright-browserstack-1.56.1/tests/async/test_page_select_option.py +273 -0
- playwright-browserstack-1.56.1/tests/async/test_pdf.py +47 -0
- playwright-browserstack-1.56.1/tests/async/test_popup.py +474 -0
- playwright-browserstack-1.56.1/tests/async/test_proxy.py +160 -0
- playwright-browserstack-1.56.1/tests/async/test_queryselector.py +410 -0
- playwright-browserstack-1.56.1/tests/async/test_request_continue.py +196 -0
- playwright-browserstack-1.56.1/tests/async/test_request_fulfill.py +75 -0
- playwright-browserstack-1.56.1/tests/async/test_request_intercept.py +191 -0
- playwright-browserstack-1.56.1/tests/async/test_resource_timing.py +103 -0
- playwright-browserstack-1.56.1/tests/async/test_route_web_socket.py +381 -0
- playwright-browserstack-1.56.1/tests/async/test_screenshot.py +79 -0
- playwright-browserstack-1.56.1/tests/async/test_selector_generator.py +50 -0
- playwright-browserstack-1.56.1/tests/async/test_selectors_get_by.py +218 -0
- playwright-browserstack-1.56.1/tests/async/test_selectors_misc.py +82 -0
- playwright-browserstack-1.56.1/tests/async/test_selectors_text.py +283 -0
- playwright-browserstack-1.56.1/tests/async/test_tap.py +237 -0
- playwright-browserstack-1.56.1/tests/async/test_tracing.py +389 -0
- playwright-browserstack-1.56.1/tests/async/test_unroute_behavior.py +509 -0
- playwright-browserstack-1.56.1/tests/async/test_video.py +86 -0
- playwright-browserstack-1.56.1/tests/async/test_wait_for_function.py +91 -0
- playwright-browserstack-1.56.1/tests/async/test_wait_for_url.py +136 -0
- playwright-browserstack-1.56.1/tests/async/test_websocket.py +195 -0
- playwright-browserstack-1.56.1/tests/async/test_worker.py +203 -0
- playwright-browserstack-1.56.1/tests/async/utils.py +79 -0
- playwright-browserstack-1.56.1/tests/common/__init__.py +0 -0
- playwright-browserstack-1.56.1/tests/common/test_collect_handles.py +0 -0
- playwright-browserstack-1.56.1/tests/common/test_events.py +32 -0
- playwright-browserstack-1.56.1/tests/common/test_signals.py +145 -0
- playwright-browserstack-1.56.1/tests/common/test_threads.py +36 -0
- playwright-browserstack-1.56.1/tests/conftest.py +287 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/grid-cell-0.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/mask-should-work-with-element-handle.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/mask-should-work-with-locator.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/mask-should-work-with-page.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/mock-binary-response.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/mock-svg.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/screenshot-element-bounding-box.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-chromium/screenshot-sanity.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/grid-cell-0.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/mask-should-work-with-element-handle.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/mask-should-work-with-locator.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/mask-should-work-with-page.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/mock-binary-response.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/mock-svg.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/screenshot-element-bounding-box.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-firefox/screenshot-sanity.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/grid-cell-0.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/mask-should-work-with-element-handle.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/mask-should-work-with-locator.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/mask-should-work-with-page.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/mock-binary-response.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/mock-svg.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/screenshot-element-bounding-box.png +0 -0
- playwright-browserstack-1.56.1/tests/golden-webkit/screenshot-sanity.png +0 -0
- playwright-browserstack-1.56.1/tests/server.py +385 -0
- playwright-browserstack-1.56.1/tests/sync/__init__.py +0 -0
- playwright-browserstack-1.56.1/tests/sync/conftest.py +197 -0
- playwright-browserstack-1.56.1/tests/sync/test_accessibility.py +393 -0
- playwright-browserstack-1.56.1/tests/sync/test_add_init_script.py +87 -0
- playwright-browserstack-1.56.1/tests/sync/test_assertions.py +1069 -0
- playwright-browserstack-1.56.1/tests/sync/test_browser.py +21 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsercontext_client_certificates.py +258 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsercontext_events.py +210 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsercontext_request_fallback.py +359 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsercontext_request_intercept.py +136 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsercontext_service_worker_policy.py +37 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsercontext_storage_state.py +174 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsertype_connect.py +251 -0
- playwright-browserstack-1.56.1/tests/sync/test_browsertype_connect_cdp.py +35 -0
- playwright-browserstack-1.56.1/tests/sync/test_cdp_session.py +80 -0
- playwright-browserstack-1.56.1/tests/sync/test_check.py +85 -0
- playwright-browserstack-1.56.1/tests/sync/test_console.py +156 -0
- playwright-browserstack-1.56.1/tests/sync/test_context_manager.py +36 -0
- playwright-browserstack-1.56.1/tests/sync/test_element_handle.py +671 -0
- playwright-browserstack-1.56.1/tests/sync/test_element_handle_wait_for_element_state.py +119 -0
- playwright-browserstack-1.56.1/tests/sync/test_expect_misc.py +72 -0
- playwright-browserstack-1.56.1/tests/sync/test_extension.py +101 -0
- playwright-browserstack-1.56.1/tests/sync/test_fetch_browser_context.py +267 -0
- playwright-browserstack-1.56.1/tests/sync/test_fetch_global.py +390 -0
- playwright-browserstack-1.56.1/tests/sync/test_fill.py +28 -0
- playwright-browserstack-1.56.1/tests/sync/test_har.py +636 -0
- playwright-browserstack-1.56.1/tests/sync/test_input.py +47 -0
- playwright-browserstack-1.56.1/tests/sync/test_launcher.py +90 -0
- playwright-browserstack-1.56.1/tests/sync/test_listeners.py +33 -0
- playwright-browserstack-1.56.1/tests/sync/test_locator_get_by.py +213 -0
- playwright-browserstack-1.56.1/tests/sync/test_locators.py +1008 -0
- playwright-browserstack-1.56.1/tests/sync/test_network.py +104 -0
- playwright-browserstack-1.56.1/tests/sync/test_page.py +124 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_add_locator_handler.py +386 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_aria_snapshot.py +216 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_clock.py +470 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_event_console.py +36 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_event_pageerror.py +36 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_event_request.py +54 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_network_response.py +66 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_request_fallback.py +349 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_request_gc.py +34 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_request_intercept.py +54 -0
- playwright-browserstack-1.56.1/tests/sync/test_page_select_option.py +255 -0
- playwright-browserstack-1.56.1/tests/sync/test_pdf.py +33 -0
- playwright-browserstack-1.56.1/tests/sync/test_queryselector.py +378 -0
- playwright-browserstack-1.56.1/tests/sync/test_request_fulfill.py +73 -0
- playwright-browserstack-1.56.1/tests/sync/test_request_intercept.py +147 -0
- playwright-browserstack-1.56.1/tests/sync/test_resource_timing.py +107 -0
- playwright-browserstack-1.56.1/tests/sync/test_route_web_socket.py +374 -0
- playwright-browserstack-1.56.1/tests/sync/test_selectors_misc.py +54 -0
- playwright-browserstack-1.56.1/tests/sync/test_sync.py +360 -0
- playwright-browserstack-1.56.1/tests/sync/test_tap.py +113 -0
- playwright-browserstack-1.56.1/tests/sync/test_tracing.py +390 -0
- playwright-browserstack-1.56.1/tests/sync/test_unroute_behavior.py +46 -0
- playwright-browserstack-1.56.1/tests/sync/test_video.py +115 -0
- playwright-browserstack-1.56.1/tests/sync/utils.py +74 -0
- playwright-browserstack-1.56.1/tests/test_android.py +489 -0
- playwright-browserstack-1.56.1/tests/test_installation.py +53 -0
- playwright-browserstack-1.56.1/tests/test_reference_count_async.py +134 -0
- playwright-browserstack-1.56.1/tests/testserver/cert.pem +28 -0
- playwright-browserstack-1.56.1/tests/testserver/key.pem +52 -0
- playwright-browserstack-1.56.1/tests/utils.py +35 -0
- playwright-browserstack-1.56.1/utils/docker/.gitignore +1 -0
- playwright-browserstack-1.56.1/utils/docker/Dockerfile.jammy +61 -0
- playwright-browserstack-1.56.1/utils/docker/Dockerfile.noble +55 -0
- playwright-browserstack-1.56.1/utils/docker/build.sh +43 -0
- playwright-browserstack-1.56.1/utils/docker/publish_docker.sh +124 -0
- playwright-browserstack-1.56.1/utils/linting/check_file_header.py +70 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hydrated": false,
|
|
3
|
+
"properties": {
|
|
4
|
+
"helpUri": "https://eng.ms/docs/microsoft-security/security/azure-security/cloudai-security-fundamentals-engineering/security-integration/guardian-wiki/microsoft-guardian/general/suppressions",
|
|
5
|
+
"hydrationStatus": "This file does not contain identifying data. It is safe to check into your repo. To hydrate this file with identifying data, run `guardian hydrate --help` and follow the guidance."
|
|
6
|
+
},
|
|
7
|
+
"version": "1.0.0",
|
|
8
|
+
"suppressionSets": {
|
|
9
|
+
"default": {
|
|
10
|
+
"name": "default",
|
|
11
|
+
"createdDate": "2024-02-06 21:00:02Z",
|
|
12
|
+
"lastUpdatedDate": "2024-02-06 21:00:02Z"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"results": {
|
|
16
|
+
"bffa73d7410f5963f2538f06124ac5524c076da77867a0a19ccf60e508062dff": {
|
|
17
|
+
"signature": "bffa73d7410f5963f2538f06124ac5524c076da77867a0a19ccf60e508062dff",
|
|
18
|
+
"alternativeSignatures": [],
|
|
19
|
+
"memberOf": [
|
|
20
|
+
"default"
|
|
21
|
+
],
|
|
22
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
23
|
+
},
|
|
24
|
+
"964642e3cd0f022d5b63f5d3c467d034df4b1664e58dd132b6cd54c98bdae6a1": {
|
|
25
|
+
"signature": "964642e3cd0f022d5b63f5d3c467d034df4b1664e58dd132b6cd54c98bdae6a1",
|
|
26
|
+
"alternativeSignatures": [
|
|
27
|
+
"f2d5560538c833834ca11e62fa6509618ab5454e1e71faf2847cb6fd07f4c4e0"
|
|
28
|
+
],
|
|
29
|
+
"memberOf": [
|
|
30
|
+
"default"
|
|
31
|
+
],
|
|
32
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
33
|
+
},
|
|
34
|
+
"5b0f97262e176cd67207fd63a2c74b9984829286e9229d10efc32d6b73130e37": {
|
|
35
|
+
"signature": "5b0f97262e176cd67207fd63a2c74b9984829286e9229d10efc32d6b73130e37",
|
|
36
|
+
"alternativeSignatures": [
|
|
37
|
+
"29a18985690880b8caeebc339c7d2afd107510838cdc6561c1f5493478712581"
|
|
38
|
+
],
|
|
39
|
+
"memberOf": [
|
|
40
|
+
"default"
|
|
41
|
+
],
|
|
42
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
43
|
+
},
|
|
44
|
+
"636fe8a4848f24231e94dc13a238022f90a2894cd47a483e351e467eeb98de52": {
|
|
45
|
+
"signature": "636fe8a4848f24231e94dc13a238022f90a2894cd47a483e351e467eeb98de52",
|
|
46
|
+
"alternativeSignatures": [
|
|
47
|
+
"e20632aa7941af4239fd857f802e05582c841fb9ae84e17c71ca6c7fc713246b"
|
|
48
|
+
],
|
|
49
|
+
"memberOf": [
|
|
50
|
+
"default"
|
|
51
|
+
],
|
|
52
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
53
|
+
},
|
|
54
|
+
"67ae7118600b0793ec3f0a58a753888e13ce4badcc15575614ee6aa622e5009c": {
|
|
55
|
+
"signature": "67ae7118600b0793ec3f0a58a753888e13ce4badcc15575614ee6aa622e5009c",
|
|
56
|
+
"alternativeSignatures": [
|
|
57
|
+
"d1e68c2c7d9815f47331dd34c31db2634804b45b078a53d00843082747155ac9"
|
|
58
|
+
],
|
|
59
|
+
"memberOf": [
|
|
60
|
+
"default"
|
|
61
|
+
],
|
|
62
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
63
|
+
},
|
|
64
|
+
"9b7d0de03b9e0e0b2711e31df7c804528c357bf5aa2d689fb5a5f42750e84077": {
|
|
65
|
+
"signature": "9b7d0de03b9e0e0b2711e31df7c804528c357bf5aa2d689fb5a5f42750e84077",
|
|
66
|
+
"alternativeSignatures": [
|
|
67
|
+
"e42bf5a49be2b1b815d1fde98ebf9d463fd2e70be1e8ca661f1210ce5b0c4953"
|
|
68
|
+
],
|
|
69
|
+
"memberOf": [
|
|
70
|
+
"default"
|
|
71
|
+
],
|
|
72
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
73
|
+
},
|
|
74
|
+
"06ecbceae8bfd10acf8c35f21af3926d172c7930f24a204cc58b61efc6c4c770": {
|
|
75
|
+
"signature": "06ecbceae8bfd10acf8c35f21af3926d172c7930f24a204cc58b61efc6c4c770",
|
|
76
|
+
"alternativeSignatures": [
|
|
77
|
+
"035d6eb1444a809987923a39793fbb1ab9e4462405f38f94bc425c579705a9f2"
|
|
78
|
+
],
|
|
79
|
+
"memberOf": [
|
|
80
|
+
"default"
|
|
81
|
+
],
|
|
82
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
83
|
+
},
|
|
84
|
+
"c103671af429c32de81f2dc2e7a92999de88a517d916a8f75c8e37448bb2efe9": {
|
|
85
|
+
"signature": "c103671af429c32de81f2dc2e7a92999de88a517d916a8f75c8e37448bb2efe9",
|
|
86
|
+
"alternativeSignatures": [
|
|
87
|
+
"3f904a503c12b62c2922900a2e689632e06272a815448939b1fdd435bcf74388"
|
|
88
|
+
],
|
|
89
|
+
"memberOf": [
|
|
90
|
+
"default"
|
|
91
|
+
],
|
|
92
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
93
|
+
},
|
|
94
|
+
"d1196285a4e64cf6f0f7f22a29bf5b33b540137da1a89ed2af0c880d2a8c1d64": {
|
|
95
|
+
"signature": "d1196285a4e64cf6f0f7f22a29bf5b33b540137da1a89ed2af0c880d2a8c1d64",
|
|
96
|
+
"alternativeSignatures": [
|
|
97
|
+
"1c24094ca9e68a76a81c747853860e46fd139c9f47f0fdbad9133538e7d064b2"
|
|
98
|
+
],
|
|
99
|
+
"memberOf": [
|
|
100
|
+
"default"
|
|
101
|
+
],
|
|
102
|
+
"createdDate": "2024-02-06 21:00:02Z"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
pr: none
|
|
2
|
+
|
|
3
|
+
trigger:
|
|
4
|
+
tags:
|
|
5
|
+
include:
|
|
6
|
+
- '*'
|
|
7
|
+
|
|
8
|
+
resources:
|
|
9
|
+
repositories:
|
|
10
|
+
- repository: 1esPipelines
|
|
11
|
+
type: git
|
|
12
|
+
name: 1ESPipelineTemplates/1ESPipelineTemplates
|
|
13
|
+
ref: refs/tags/release
|
|
14
|
+
|
|
15
|
+
extends:
|
|
16
|
+
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
|
|
17
|
+
parameters:
|
|
18
|
+
pool:
|
|
19
|
+
name: DevDivPlaywrightAzurePipelinesUbuntu2204
|
|
20
|
+
os: linux
|
|
21
|
+
sdl:
|
|
22
|
+
sourceAnalysisPool:
|
|
23
|
+
name: DevDivPlaywrightAzurePipelinesWindows2022
|
|
24
|
+
# The image must be windows-based due to restrictions of the SDL tools. See: https://aka.ms/AAo6v8e
|
|
25
|
+
# In the case of a windows build, this can be the same as the above pool image.
|
|
26
|
+
os: windows
|
|
27
|
+
suppression:
|
|
28
|
+
suppressionFile: $(Build.SourcesDirectory)\.azure-pipelines\guardian\SDL\.gdnsuppress
|
|
29
|
+
stages:
|
|
30
|
+
- stage: Stage
|
|
31
|
+
jobs:
|
|
32
|
+
- job: Build
|
|
33
|
+
templateContext:
|
|
34
|
+
outputs:
|
|
35
|
+
- output: pipelineArtifact
|
|
36
|
+
path: $(Build.ArtifactStagingDirectory)/esrp-build
|
|
37
|
+
artifact: esrp-build
|
|
38
|
+
steps:
|
|
39
|
+
- task: UsePythonVersion@0
|
|
40
|
+
inputs:
|
|
41
|
+
versionSpec: '3.9'
|
|
42
|
+
displayName: 'Use Python'
|
|
43
|
+
- script: |
|
|
44
|
+
python -m pip install --upgrade pip
|
|
45
|
+
pip install -r local-requirements.txt
|
|
46
|
+
pip install -r requirements.txt
|
|
47
|
+
pip install -e .
|
|
48
|
+
for wheel in $(python setup.py --list-wheels); do
|
|
49
|
+
PLAYWRIGHT_TARGET_WHEEL=$wheel python -m build --wheel --outdir $(Build.ArtifactStagingDirectory)/esrp-build
|
|
50
|
+
done
|
|
51
|
+
displayName: 'Install & Build'
|
|
52
|
+
- job: Publish
|
|
53
|
+
dependsOn: Build
|
|
54
|
+
templateContext:
|
|
55
|
+
type: releaseJob
|
|
56
|
+
isProduction: true
|
|
57
|
+
inputs:
|
|
58
|
+
- input: pipelineArtifact
|
|
59
|
+
artifactName: esrp-build
|
|
60
|
+
targetPath: $(Build.ArtifactStagingDirectory)/esrp-build
|
|
61
|
+
steps:
|
|
62
|
+
- checkout: none
|
|
63
|
+
- task: EsrpRelease@9
|
|
64
|
+
inputs:
|
|
65
|
+
connectedservicename: 'Playwright-ESRP-PME'
|
|
66
|
+
usemanagedidentity: true
|
|
67
|
+
keyvaultname: 'playwright-esrp-pme'
|
|
68
|
+
signcertname: 'ESRP-Release-Sign'
|
|
69
|
+
clientid: '13434a40-7de4-4c23-81a3-d843dc81c2c5'
|
|
70
|
+
intent: 'PackageDistribution'
|
|
71
|
+
contenttype: 'PyPi'
|
|
72
|
+
# Keeping it commented out as a workaround for:
|
|
73
|
+
# https://portal.microsofticm.com/imp/v3/incidents/incident/499972482/summary
|
|
74
|
+
# contentsource: 'folder'
|
|
75
|
+
folderlocation: '$(Build.ArtifactStagingDirectory)/esrp-build'
|
|
76
|
+
waitforreleasecompletion: true
|
|
77
|
+
owners: 'yurys@microsoft.com'
|
|
78
|
+
approvers: 'yurys@microsoft.com'
|
|
79
|
+
serviceendpointurl: 'https://api.esrp.microsoft.com'
|
|
80
|
+
mainpublisher: 'Playwright'
|
|
81
|
+
domaintenantid: '975f013f-7f24-47e8-a7d3-abc4752bf346'
|
|
82
|
+
displayName: 'ESRP Release to PIP'
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
name: Bug Report 🪲
|
|
2
|
+
description: Create a bug report to help us improve
|
|
3
|
+
title: '[Bug]: '
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
# Please follow these steps first:
|
|
9
|
+
- type: markdown
|
|
10
|
+
attributes:
|
|
11
|
+
value: |
|
|
12
|
+
## Troubleshoot
|
|
13
|
+
If Playwright is not behaving the way you expect, we'd ask you to look at the [documentation](https://playwright.dev/python/docs/intro) and search the issue tracker for evidence supporting your expectation.
|
|
14
|
+
Please make reasonable efforts to troubleshoot and rule out issues with your code, the configuration, or any 3rd party libraries you might be using.
|
|
15
|
+
Playwright offers [several debugging tools](https://playwright.dev/python/docs/debug) that you can use to troubleshoot your issues.
|
|
16
|
+
- type: markdown
|
|
17
|
+
attributes:
|
|
18
|
+
value: |
|
|
19
|
+
## Ask for help through appropriate channels
|
|
20
|
+
If you feel unsure about the cause of the problem, consider asking for help on for example [StackOverflow](https://stackoverflow.com/questions/ask) or our [Discord channel](https://aka.ms/playwright/discord) before posting a bug report. The issue tracker is not a help forum.
|
|
21
|
+
- type: markdown
|
|
22
|
+
attributes:
|
|
23
|
+
value: |
|
|
24
|
+
## Make a minimal reproduction
|
|
25
|
+
To file the report, you will need a GitHub repository with a minimal (but complete) example and simple/clear steps on how to reproduce the bug.
|
|
26
|
+
The simpler you can make it, the more likely we are to successfully verify and fix the bug.
|
|
27
|
+
- type: markdown
|
|
28
|
+
attributes:
|
|
29
|
+
value: |
|
|
30
|
+
> [!IMPORTANT]
|
|
31
|
+
> Bug reports without a minimal reproduction will be rejected.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
- type: input
|
|
35
|
+
id: version
|
|
36
|
+
attributes:
|
|
37
|
+
label: Version
|
|
38
|
+
description: |
|
|
39
|
+
The version of Playwright you are using.
|
|
40
|
+
Is it the [latest](https://github.com/microsoft/playwright-python/releases)? Test and see if the bug has already been fixed.
|
|
41
|
+
placeholder: ex. 1.41.1
|
|
42
|
+
validations:
|
|
43
|
+
required: true
|
|
44
|
+
- type: textarea
|
|
45
|
+
id: reproduction
|
|
46
|
+
attributes:
|
|
47
|
+
label: Steps to reproduce
|
|
48
|
+
description: Please link to a repository with a minimal reproduction and describe accurately how we can reproduce/verify the bug.
|
|
49
|
+
value: |
|
|
50
|
+
Example steps (replace with your own):
|
|
51
|
+
1. Clone my repo at https://github.com/<myuser>/example
|
|
52
|
+
2. pip install -r requirements.txt
|
|
53
|
+
3. python test.py
|
|
54
|
+
4. You should see the error come up
|
|
55
|
+
validations:
|
|
56
|
+
required: true
|
|
57
|
+
- type: textarea
|
|
58
|
+
id: expected
|
|
59
|
+
attributes:
|
|
60
|
+
label: Expected behavior
|
|
61
|
+
description: A description of what you expect to happen.
|
|
62
|
+
placeholder: I expect to see X or Y
|
|
63
|
+
validations:
|
|
64
|
+
required: true
|
|
65
|
+
- type: textarea
|
|
66
|
+
id: what-happened
|
|
67
|
+
attributes:
|
|
68
|
+
label: Actual behavior
|
|
69
|
+
description: |
|
|
70
|
+
A clear and concise description of the unexpected behavior.
|
|
71
|
+
Please include any relevant output here, especially any error messages.
|
|
72
|
+
placeholder: A bug happened!
|
|
73
|
+
validations:
|
|
74
|
+
required: true
|
|
75
|
+
- type: textarea
|
|
76
|
+
id: context
|
|
77
|
+
attributes:
|
|
78
|
+
label: Additional context
|
|
79
|
+
description: Anything else that might be relevant
|
|
80
|
+
validations:
|
|
81
|
+
required: false
|
|
82
|
+
- type: textarea
|
|
83
|
+
id: envinfo
|
|
84
|
+
attributes:
|
|
85
|
+
label: Environment
|
|
86
|
+
description: |
|
|
87
|
+
Please provide information about the environment you are running in.
|
|
88
|
+
value: |
|
|
89
|
+
- Operating System: [Ubuntu 22.04]
|
|
90
|
+
- CPU: [arm64]
|
|
91
|
+
- Browser: [All, Chromium, Firefox, WebKit]
|
|
92
|
+
- Python Version: [3.12]
|
|
93
|
+
- Other info:
|
|
94
|
+
render: Text
|
|
95
|
+
validations:
|
|
96
|
+
required: true
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: Documentation 📖
|
|
2
|
+
description: Submit a request to add or update documentation
|
|
3
|
+
title: '[Docs]: '
|
|
4
|
+
labels: ['Documentation :book:']
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
### Thank you for helping us improve our documentation!
|
|
10
|
+
Please be sure you are looking at [the Next version of the documentation](https://playwright.dev/python/docs/next/intro) before opening an issue here.
|
|
11
|
+
- type: textarea
|
|
12
|
+
id: links
|
|
13
|
+
attributes:
|
|
14
|
+
label: Page(s)
|
|
15
|
+
description: |
|
|
16
|
+
Links to one or more documentation pages that should be modified.
|
|
17
|
+
If you are reporting an issue with a specific section of a page, try to link directly to the nearest anchor.
|
|
18
|
+
If you are suggesting that a new page be created, link to the parent of the proposed page.
|
|
19
|
+
validations:
|
|
20
|
+
required: true
|
|
21
|
+
- type: textarea
|
|
22
|
+
id: description
|
|
23
|
+
attributes:
|
|
24
|
+
label: Description
|
|
25
|
+
description: |
|
|
26
|
+
Describe the change you are requesting.
|
|
27
|
+
If the issue pertains to a single function or matcher, be sure to specify the entire call signature.
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Feature Request 🚀
|
|
2
|
+
description: Submit a proposal for a new feature
|
|
3
|
+
title: '[Feature]: '
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
### Thank you for taking the time to suggest a new feature!
|
|
9
|
+
- type: textarea
|
|
10
|
+
id: description
|
|
11
|
+
attributes:
|
|
12
|
+
label: '🚀 Feature Request'
|
|
13
|
+
description: A clear and concise description of what the feature is.
|
|
14
|
+
validations:
|
|
15
|
+
required: true
|
|
16
|
+
- type: textarea
|
|
17
|
+
id: example
|
|
18
|
+
attributes:
|
|
19
|
+
label: Example
|
|
20
|
+
description: Describe how this feature would be used.
|
|
21
|
+
validations:
|
|
22
|
+
required: false
|
|
23
|
+
- type: textarea
|
|
24
|
+
id: motivation
|
|
25
|
+
attributes:
|
|
26
|
+
label: Motivation
|
|
27
|
+
description: |
|
|
28
|
+
Outline your motivation for the proposal. How will it make Playwright better?
|
|
29
|
+
validations:
|
|
30
|
+
required: true
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: 'Questions / Help 💬'
|
|
2
|
+
description: If you have questions, please check StackOverflow or Discord
|
|
3
|
+
title: '[Please read the message below]'
|
|
4
|
+
labels: [':speech_balloon: Question']
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
## Questions and Help 💬
|
|
10
|
+
|
|
11
|
+
This issue tracker is reserved for bug reports and feature requests.
|
|
12
|
+
|
|
13
|
+
For anything else, such as questions or getting help, please see:
|
|
14
|
+
|
|
15
|
+
- [The Playwright documentation](https://playwright.dev)
|
|
16
|
+
- [Our Discord server](https://aka.ms/playwright/discord)
|
|
17
|
+
- type: checkboxes
|
|
18
|
+
id: no-post
|
|
19
|
+
attributes:
|
|
20
|
+
label: |
|
|
21
|
+
Please do not submit this issue.
|
|
22
|
+
description: |
|
|
23
|
+
> [!IMPORTANT]
|
|
24
|
+
> This issue will be closed.
|
|
25
|
+
options:
|
|
26
|
+
- label: I understand
|
|
27
|
+
required: true
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
name: Report regression
|
|
2
|
+
description: Functionality that used to work and does not any more
|
|
3
|
+
title: "[Regression]: "
|
|
4
|
+
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
# Please follow these steps first:
|
|
10
|
+
- type: markdown
|
|
11
|
+
attributes:
|
|
12
|
+
value: |
|
|
13
|
+
## Make a minimal reproduction
|
|
14
|
+
To file the report, you will need a GitHub repository with a minimal (but complete) example and simple/clear steps on how to reproduce the regression.
|
|
15
|
+
The simpler you can make it, the more likely we are to successfully verify and fix the regression.
|
|
16
|
+
- type: markdown
|
|
17
|
+
attributes:
|
|
18
|
+
value: |
|
|
19
|
+
> [!IMPORTANT]
|
|
20
|
+
> Regression reports without a minimal reproduction will be rejected.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
- type: input
|
|
24
|
+
id: goodVersion
|
|
25
|
+
attributes:
|
|
26
|
+
label: Last Good Version
|
|
27
|
+
description: |
|
|
28
|
+
Last version of Playwright where the feature was working.
|
|
29
|
+
placeholder: ex. 1.40.1
|
|
30
|
+
validations:
|
|
31
|
+
required: true
|
|
32
|
+
- type: input
|
|
33
|
+
id: badVersion
|
|
34
|
+
attributes:
|
|
35
|
+
label: First Bad Version
|
|
36
|
+
description: |
|
|
37
|
+
First version of Playwright where the feature was broken.
|
|
38
|
+
Is it the [latest](https://github.com/microsoft/playwright-python/releases)? Test and see if the regression has already been fixed.
|
|
39
|
+
placeholder: ex. 1.41.1
|
|
40
|
+
validations:
|
|
41
|
+
required: true
|
|
42
|
+
- type: textarea
|
|
43
|
+
id: reproduction
|
|
44
|
+
attributes:
|
|
45
|
+
label: Steps to reproduce
|
|
46
|
+
description: Please link to a repository with a minimal reproduction and describe accurately how we can reproduce/verify the bug.
|
|
47
|
+
value: |
|
|
48
|
+
Example steps (replace with your own):
|
|
49
|
+
1. Clone my repo at https://github.com/<myuser>/example
|
|
50
|
+
2. pip -r requirements.txt
|
|
51
|
+
3. python test.py
|
|
52
|
+
4. You should see the error come up
|
|
53
|
+
validations:
|
|
54
|
+
required: true
|
|
55
|
+
- type: textarea
|
|
56
|
+
id: expected
|
|
57
|
+
attributes:
|
|
58
|
+
label: Expected behavior
|
|
59
|
+
description: A description of what you expect to happen.
|
|
60
|
+
placeholder: I expect to see X or Y
|
|
61
|
+
validations:
|
|
62
|
+
required: true
|
|
63
|
+
- type: textarea
|
|
64
|
+
id: what-happened
|
|
65
|
+
attributes:
|
|
66
|
+
label: Actual behavior
|
|
67
|
+
description: A clear and concise description of the unexpected behavior.
|
|
68
|
+
placeholder: A bug happened!
|
|
69
|
+
validations:
|
|
70
|
+
required: true
|
|
71
|
+
- type: textarea
|
|
72
|
+
id: context
|
|
73
|
+
attributes:
|
|
74
|
+
label: Additional context
|
|
75
|
+
description: Anything else that might be relevant
|
|
76
|
+
validations:
|
|
77
|
+
required: false
|
|
78
|
+
- type: textarea
|
|
79
|
+
id: envinfo
|
|
80
|
+
attributes:
|
|
81
|
+
label: Environment
|
|
82
|
+
description: |
|
|
83
|
+
Please provide information about the environment you are running in.
|
|
84
|
+
value: |
|
|
85
|
+
- Operating System: [Ubuntu 22.04]
|
|
86
|
+
- CPU: [arm64]
|
|
87
|
+
- Browser: [All, Chromium, Firefox, WebKit]
|
|
88
|
+
- Python Version: [3.12]
|
|
89
|
+
- Other info:
|
|
90
|
+
render: Text
|
|
91
|
+
validations:
|
|
92
|
+
required: true
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
- release-*
|
|
8
|
+
pull_request:
|
|
9
|
+
branches:
|
|
10
|
+
- main
|
|
11
|
+
- release-*
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
# For pull requests, cancel all currently-running jobs for this workflow
|
|
15
|
+
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
|
|
16
|
+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
17
|
+
cancel-in-progress: true
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
infra:
|
|
21
|
+
name: Lint
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v5
|
|
25
|
+
- name: Set up Python
|
|
26
|
+
uses: actions/setup-python@v6
|
|
27
|
+
with:
|
|
28
|
+
python-version: "3.10"
|
|
29
|
+
- name: Install dependencies & browsers
|
|
30
|
+
run: |
|
|
31
|
+
python -m pip install --upgrade pip
|
|
32
|
+
pip install -r local-requirements.txt
|
|
33
|
+
pip install -r requirements.txt
|
|
34
|
+
pip install -e .
|
|
35
|
+
python -m build --wheel
|
|
36
|
+
python -m playwright install --with-deps
|
|
37
|
+
- name: Lint
|
|
38
|
+
run: pre-commit run --show-diff-on-failure --color=always --all-files
|
|
39
|
+
- name: Generate APIs
|
|
40
|
+
run: bash scripts/update_api.sh
|
|
41
|
+
- name: Verify generated API is up to date
|
|
42
|
+
run: git diff --exit-code
|
|
43
|
+
|
|
44
|
+
build:
|
|
45
|
+
name: Build
|
|
46
|
+
timeout-minutes: 45
|
|
47
|
+
strategy:
|
|
48
|
+
fail-fast: false
|
|
49
|
+
matrix:
|
|
50
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
51
|
+
python-version: ['3.9', '3.10']
|
|
52
|
+
browser: [chromium, firefox, webkit]
|
|
53
|
+
include:
|
|
54
|
+
- os: windows-latest
|
|
55
|
+
python-version: '3.11'
|
|
56
|
+
browser: chromium
|
|
57
|
+
- os: macos-latest
|
|
58
|
+
python-version: '3.11'
|
|
59
|
+
browser: chromium
|
|
60
|
+
- os: ubuntu-latest
|
|
61
|
+
python-version: '3.11'
|
|
62
|
+
browser: chromium
|
|
63
|
+
- os: windows-latest
|
|
64
|
+
python-version: '3.12'
|
|
65
|
+
browser: chromium
|
|
66
|
+
- os: macos-latest
|
|
67
|
+
python-version: '3.12'
|
|
68
|
+
browser: chromium
|
|
69
|
+
- os: ubuntu-latest
|
|
70
|
+
python-version: '3.12'
|
|
71
|
+
browser: chromium
|
|
72
|
+
- os: windows-latest
|
|
73
|
+
python-version: '3.13'
|
|
74
|
+
browser: chromium
|
|
75
|
+
- os: macos-latest
|
|
76
|
+
python-version: '3.13'
|
|
77
|
+
browser: chromium
|
|
78
|
+
- os: ubuntu-latest
|
|
79
|
+
python-version: '3.13'
|
|
80
|
+
browser: chromium
|
|
81
|
+
runs-on: ${{ matrix.os }}
|
|
82
|
+
steps:
|
|
83
|
+
- uses: actions/checkout@v5
|
|
84
|
+
- name: Set up Python
|
|
85
|
+
uses: actions/setup-python@v6
|
|
86
|
+
with:
|
|
87
|
+
python-version: ${{ matrix.python-version }}
|
|
88
|
+
- name: Install dependencies & browsers
|
|
89
|
+
run: |
|
|
90
|
+
python -m pip install --upgrade pip
|
|
91
|
+
pip install -r local-requirements.txt
|
|
92
|
+
pip install -r requirements.txt
|
|
93
|
+
pip install -e .
|
|
94
|
+
python -m build --wheel
|
|
95
|
+
python -m playwright install --with-deps ${{ matrix.browser }}
|
|
96
|
+
- name: Common Tests
|
|
97
|
+
run: pytest tests/common --browser=${{ matrix.browser }} --timeout 90
|
|
98
|
+
- name: Test Reference count
|
|
99
|
+
run: pytest tests/test_reference_count_async.py --browser=${{ matrix.browser }}
|
|
100
|
+
- name: Test Wheel Installation
|
|
101
|
+
run: pytest tests/test_installation.py --browser=${{ matrix.browser }}
|
|
102
|
+
- name: Test Sync API
|
|
103
|
+
if: matrix.os != 'ubuntu-latest'
|
|
104
|
+
run: pytest tests/sync --browser=${{ matrix.browser }} --timeout 90
|
|
105
|
+
- name: Test Sync API
|
|
106
|
+
if: matrix.os == 'ubuntu-latest'
|
|
107
|
+
run: xvfb-run pytest tests/sync --browser=${{ matrix.browser }} --timeout 90
|
|
108
|
+
- name: Test Async API
|
|
109
|
+
if: matrix.os != 'ubuntu-latest'
|
|
110
|
+
run: pytest tests/async --browser=${{ matrix.browser }} --timeout 90
|
|
111
|
+
- name: Test Async API
|
|
112
|
+
if: matrix.os == 'ubuntu-latest'
|
|
113
|
+
run: xvfb-run pytest tests/async --browser=${{ matrix.browser }} --timeout 90
|
|
114
|
+
|
|
115
|
+
test-stable:
|
|
116
|
+
name: Stable
|
|
117
|
+
timeout-minutes: 45
|
|
118
|
+
strategy:
|
|
119
|
+
fail-fast: false
|
|
120
|
+
matrix:
|
|
121
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
122
|
+
browser-channel: [chrome]
|
|
123
|
+
include:
|
|
124
|
+
- os: windows-latest
|
|
125
|
+
browser-channel: msedge
|
|
126
|
+
- os: macos-latest
|
|
127
|
+
browser-channel: msedge
|
|
128
|
+
runs-on: ${{ matrix.os }}
|
|
129
|
+
steps:
|
|
130
|
+
- uses: actions/checkout@v5
|
|
131
|
+
- name: Set up Python
|
|
132
|
+
uses: actions/setup-python@v6
|
|
133
|
+
with:
|
|
134
|
+
python-version: "3.10"
|
|
135
|
+
- name: Install dependencies & browsers
|
|
136
|
+
run: |
|
|
137
|
+
python -m pip install --upgrade pip
|
|
138
|
+
pip install -r local-requirements.txt
|
|
139
|
+
pip install -r requirements.txt
|
|
140
|
+
pip install -e .
|
|
141
|
+
python -m build --wheel
|
|
142
|
+
python -m playwright install ${{ matrix.browser-channel }} --with-deps
|
|
143
|
+
- name: Common Tests
|
|
144
|
+
run: pytest tests/common --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
|
|
145
|
+
- name: Test Sync API
|
|
146
|
+
if: matrix.os != 'ubuntu-latest'
|
|
147
|
+
run: pytest tests/sync --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
|
|
148
|
+
- name: Test Sync API
|
|
149
|
+
if: matrix.os == 'ubuntu-latest'
|
|
150
|
+
run: xvfb-run pytest tests/sync --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
|
|
151
|
+
- name: Test Async API
|
|
152
|
+
if: matrix.os != 'ubuntu-latest'
|
|
153
|
+
run: pytest tests/async --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
|
|
154
|
+
- name: Test Async API
|
|
155
|
+
if: matrix.os == 'ubuntu-latest'
|
|
156
|
+
run: xvfb-run pytest tests/async --browser=chromium --browser-channel=${{ matrix.browser-channel }} --timeout 90
|
|
157
|
+
|
|
158
|
+
build-conda:
|
|
159
|
+
name: Conda Build
|
|
160
|
+
strategy:
|
|
161
|
+
fail-fast: false
|
|
162
|
+
matrix:
|
|
163
|
+
os: [ubuntu-22.04, macos-13, windows-2022]
|
|
164
|
+
runs-on: ${{ matrix.os }}
|
|
165
|
+
steps:
|
|
166
|
+
- uses: actions/checkout@v5
|
|
167
|
+
with:
|
|
168
|
+
fetch-depth: 0
|
|
169
|
+
- name: Get conda
|
|
170
|
+
uses: conda-incubator/setup-miniconda@v3
|
|
171
|
+
with:
|
|
172
|
+
python-version: 3.9
|
|
173
|
+
channels: conda-forge
|
|
174
|
+
miniconda-version: latest
|
|
175
|
+
- name: Prepare
|
|
176
|
+
run: conda install conda-build conda-verify
|
|
177
|
+
- name: Build
|
|
178
|
+
run: conda build .
|
|
179
|
+
|
|
180
|
+
test_examples:
|
|
181
|
+
name: Examples
|
|
182
|
+
runs-on: ubuntu-22.04
|
|
183
|
+
defaults:
|
|
184
|
+
run:
|
|
185
|
+
working-directory: examples/todomvc/
|
|
186
|
+
steps:
|
|
187
|
+
- uses: actions/checkout@v5
|
|
188
|
+
- name: Set up Python
|
|
189
|
+
uses: actions/setup-python@v6
|
|
190
|
+
with:
|
|
191
|
+
python-version: '3.10'
|
|
192
|
+
- name: Install dependencies & browsers
|
|
193
|
+
run: |
|
|
194
|
+
pip install -r requirements.txt
|
|
195
|
+
python -m playwright install --with-deps chromium
|
|
196
|
+
- name: Common Tests
|
|
197
|
+
run: pytest
|