{"id":13395344,"url":"https://github.com/microsoft/playwright","last_synced_at":"2025-09-09T20:25:53.080Z","repository":{"id":37011209,"uuid":"221981891","full_name":"microsoft/playwright","owner":"microsoft","description":"Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API. ","archived":false,"fork":false,"pushed_at":"2025-09-04T15:41:20.000Z","size":223499,"stargazers_count":76736,"open_issues_count":672,"forks_count":4521,"subscribers_count":534,"default_branch":"main","last_synced_at":"2025-09-04T16:11:44.607Z","etag":null,"topics":["automation","chrome","chromium","e2e-testing","electron","end-to-end-testing","firefox","javascript","playwright","test","test-automation","testing","testing-tools","web","webkit"],"latest_commit_sha":null,"homepage":"https://playwright.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-11-15T18:32:42.000Z","updated_at":"2025-09-04T16:10:38.000Z","dependencies_parsed_at":"2023-12-15T21:23:46.449Z","dependency_job_id":"165b0c38-43f0-4f5b-9ed0-b3dd64c64f34","html_url":"https://github.com/microsoft/playwright","commit_stats":{"total_commits":13831,"total_committers":604,"mean_commits":"22.899006622516556","dds":0.7986407345817367,"last_synced_commit":"eeca68ba9714fef056fd60203240126607337a26"},"previous_names":[],"tags_count":151,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/playwright","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fplaywright","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fplaywright/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fplaywright/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fplaywright/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/playwright/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fplaywright/sbom","scorecard":{"id":93846,"data":{"date":"2022-08-15","repo":{"name":"github.com/microsoft/playwright","commit":"94c9db299da240bcd5725f5059c34eee155707d7"},"scorecard":{"version":"v4.5.0-26-g10b6052","commit":"10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93"},"score":6.5,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) out of 30 and 6 issue activity out of 30 found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"GitHub code reviews found for 29 commits out of the last 30 -- score normalized to 9","details":["Warn: no reviews found for commit: e64b09cc280f0cbe324c742e1cdecd7729817ebe"],"documentation":{"short":"Determines if the project requires code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no badge detected","details":null,"documentation":{"short":"Determines if the project has a CII Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"no vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":["Warn: no GitHub releases found"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#signed-releases"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy detected in current repo: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: : LICENSE:1"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#license"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"no published package detected","details":["Warn: no GitHub publishing workflow detected"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"non read-only tokens detected in GitHub workflows","details":["Warn: no topLevel permission defined: .github/workflows/cherry_pick_into_release_branch.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/cherry_pick_into_release_branch.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/infra.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/infra.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/pr_check_client_side_changes.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/pr_check_client_side_changes.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/publish_canary.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_canary.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/publish_release_docker.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_docker.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/publish_release_driver.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_driver.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/publish_release_npm.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_npm.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/publish_release_traceviewer.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_traceviewer.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/roll_browser_into_playwright.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_browser_into_playwright.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/roll_chromium_build.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_chromium_build.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/roll_chromium_tip_of_treebuild.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_chromium_tip_of_treebuild.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/roll_driver_nodejs.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_driver_nodejs.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/tests_components.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_components.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/tests_electron.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_electron.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/tests_primary.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/tests_secondary.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/tests_stress.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_stress.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/tests_video.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_video.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_chromium.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_chromium.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_chromium_tip_of_tree.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_chromium_tip_of_tree.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_chromium_with_symbols.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_chromium_with_symbols.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_ffmpeg.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_ffmpeg.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_firefox.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_firefox.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_firefox_beta.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_firefox_beta.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_webkit.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_webkit.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_build_winldd.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_build_winldd.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/trigger_tests.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/trigger_tests.yml/master?enable=permissions"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":6,"reason":"binaries present in source code","details":["Warn: binary detected: packages/playwright-core/bin/PrintDeps.exe:1","Warn: binary detected: packages/playwright-core/src/server/android/driver/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: tests/assets/selenium-grid/selenium-server-4.0.0-rc-1.jar:1","Warn: binary detected: tests/assets/selenium-grid/selenium-server-standalone-3.141.59.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#binary-artifacts"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: Dependabot detected"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#dependency-update-tool"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":null,"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cherry_pick_into_release_branch.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/cherry_pick_into_release_branch.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cherry_pick_into_release_branch.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/cherry_pick_into_release_branch.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/infra.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/infra.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/infra.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/infra.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr_check_client_side_changes.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/pr_check_client_side_changes.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_canary.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_canary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_canary.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_canary.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_canary.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_canary.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_canary.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_canary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_canary.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_canary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_canary.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_canary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_docker.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_docker.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_release_docker.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_release_docker.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_driver.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_driver.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_driver.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_driver.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_npm.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_npm.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_npm.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_npm.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_traceviewer.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_traceviewer.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_release_traceviewer.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/publish_release_traceviewer.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_browser_into_playwright.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_browser_into_playwright.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_browser_into_playwright.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_browser_into_playwright.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_browser_into_playwright.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_browser_into_playwright.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_chromium_build.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_chromium_build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_chromium_build.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_chromium_build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_chromium_tip_of_treebuild.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_chromium_tip_of_treebuild.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_chromium_tip_of_treebuild.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_chromium_tip_of_treebuild.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_driver_nodejs.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_driver_nodejs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_driver_nodejs.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_driver_nodejs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/roll_driver_nodejs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/roll_driver_nodejs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_components.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_components.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_components.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_components.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_electron.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_electron.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_electron.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_electron.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_electron.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_electron.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:170: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_primary.yml:171: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_primary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:478: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:479: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:494: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:611: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:612: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:627: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:227: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:333: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:334: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:354: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:505: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:506: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:522: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:637: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:638: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:653: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:276: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:277: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:293: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:532: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:533: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:548: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:303: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:304: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:319: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:558: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:559: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:574: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:584: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:585: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:601: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:663: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:664: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:680: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:155: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:172: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:368: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:369: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:389: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:399: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:400: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:425: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:442: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:742: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:743: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:759: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:127: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:128: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:250: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:251: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:266: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:769: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:770: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:785: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:690: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:691: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:706: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:716: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:717: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:732: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:795: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:796: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:187: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:208: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:452: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:453: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_secondary.yml:468: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_secondary.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_stress.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_stress.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_stress.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_stress.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_video.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_video.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_video.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_video.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests_video.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/kuchiki-rs/kuchiki/tests_video.yml/master?enable=pin","Warn: containerImage not pinned by hash: browser_patches/docker/firefox-beta/debian-11.dockerfile:1: pin your Docker image by updating debian to debian@sha256:82bab30ed448b8e2509aabe21f40f0607d905b7fd0dec72802627a20274eba55","Warn: containerImage not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-18.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04-arm64.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04-arm64.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox/debian-11.dockerfile:1: pin your Docker image by updating debian to debian@sha256:82bab30ed448b8e2509aabe21f40f0607d905b7fd0dec72802627a20274eba55","Warn: containerImage not pinned by hash: browser_patches/docker/firefox/ubuntu-18.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04-arm64.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04-arm64.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/webkit/debian-11.dockerfile:1: pin your Docker image by updating debian to debian@sha256:82bab30ed448b8e2509aabe21f40f0607d905b7fd0dec72802627a20274eba55","Warn: containerImage not pinned by hash: browser_patches/docker/webkit/ubuntu-18.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/webkit/ubuntu-20.04-arm64.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/webkit/ubuntu-20.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/webkit/ubuntu-22.04-arm64.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: browser_patches/docker/webkit/ubuntu-22.04.dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: utils/docker/Dockerfile.bionic:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: utils/docker/Dockerfile.focal:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: containerImage not pinned by hash: utils/docker/Dockerfile.jammy:1: pin your Docker image by updating ubuntu to ubuntu@sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/debian-11.dockerfile:23","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/debian-11.dockerfile:26","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/debian-11.dockerfile:46","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-18.04.dockerfile:29","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-18.04.dockerfile:32","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-18.04.dockerfile:52","Warn: pipCommand not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04-arm64.dockerfile:31","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04-arm64.dockerfile:34","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04-arm64.dockerfile:54","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04.dockerfile:23","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04.dockerfile:26","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-20.04.dockerfile:46","Warn: pipCommand not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04-arm64.dockerfile:31","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04-arm64.dockerfile:34","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04-arm64.dockerfile:54","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04.dockerfile:23","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04.dockerfile:26","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox-beta/ubuntu-22.04.dockerfile:46","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/debian-11.dockerfile:23","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/debian-11.dockerfile:26","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/debian-11.dockerfile:46","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-18.04.dockerfile:29","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-18.04.dockerfile:32","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-18.04.dockerfile:52","Warn: pipCommand not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04-arm64.dockerfile:31","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04-arm64.dockerfile:34","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04-arm64.dockerfile:54","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04.dockerfile:23","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04.dockerfile:26","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-20.04.dockerfile:46","Warn: pipCommand not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04-arm64.dockerfile:31","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04-arm64.dockerfile:34","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04-arm64.dockerfile:54","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04.dockerfile:23","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04.dockerfile:26","Warn: downloadThenRun not pinned by hash: browser_patches/docker/firefox/ubuntu-22.04.dockerfile:46","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/debian-11.dockerfile:24","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/debian-11.dockerfile:27","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-18.04.dockerfile:35","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-18.04.dockerfile:38","Warn: pipCommand not pinned by hash: browser_patches/docker/webkit/ubuntu-20.04-arm64.dockerfile:28-32","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-20.04-arm64.dockerfile:35","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-20.04.dockerfile:21","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-20.04.dockerfile:24","Warn: pipCommand not pinned by hash: browser_patches/docker/webkit/ubuntu-22.04-arm64.dockerfile:28-32","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-22.04-arm64.dockerfile:35","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-22.04.dockerfile:21","Warn: downloadThenRun not pinned by hash: browser_patches/docker/webkit/ubuntu-22.04.dockerfile:24","Warn: downloadThenRun not pinned by hash: utils/docker/Dockerfile.bionic:9-20","Warn: npmCommand not pinned by hash: utils/docker/Dockerfile.bionic:9-20","Warn: npmCommand not pinned by hash: utils/docker/Dockerfile.bionic:34-42","Warn: downloadThenRun not pinned by hash: utils/docker/Dockerfile.focal:9-20","Warn: npmCommand not pinned by hash: utils/docker/Dockerfile.focal:9-20","Warn: npmCommand not pinned by hash: utils/docker/Dockerfile.focal:34-42","Warn: downloadThenRun not pinned by hash: utils/docker/Dockerfile.jammy:9-20","Warn: npmCommand not pinned by hash: utils/docker/Dockerfile.jammy:9-20","Warn: npmCommand not pinned by hash: utils/docker/Dockerfile.jammy:34-42","Warn: npmCommand not pinned by hash: browser_patches/chromium/goma.sh:26","Warn: npmCommand not pinned by hash: packages/web/src/third_party/highlightjs/roll.sh:22","Warn: npmCommand not pinned by hash: .github/workflows/infra.yml:23","Warn: npmCommand not pinned by hash: .github/workflows/publish_canary.yml:23","Warn: npmCommand not pinned by hash: .github/workflows/publish_canary.yml:77","Warn: npmCommand not pinned by hash: .github/workflows/publish_release_docker.yml:35","Warn: npmCommand not pinned by hash: .github/workflows/publish_release_driver.yml:19","Warn: npmCommand not pinned by hash: .github/workflows/publish_release_npm.yml:19","Warn: npmCommand not pinned by hash: .github/workflows/publish_release_traceviewer.yml:18","Warn: npmCommand not pinned by hash: .github/workflows/roll_browser_into_playwright.yml:16","Warn: npmCommand not pinned by hash: .github/workflows/tests_components.yml:34","Warn: npmCommand not pinned by hash: .github/workflows/tests_electron.yml:36","Warn: npmCommand not pinned by hash: .github/workflows/tests_primary.yml:50","Warn: npmCommand not pinned by hash: .github/workflows/tests_primary.yml:80","Warn: npmCommand not pinned by hash: .github/workflows/tests_primary.yml:119","Warn: npmCommand not pinned by hash: .github/workflows/tests_primary.yml:142","Warn: npmCommand not pinned by hash: .github/workflows/tests_primary.yml:175","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:68","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:255","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:563","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:37","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:132","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:338","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:537","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:800","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:191","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:308","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:695","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:373","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:404","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:774","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:159","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:616","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:232","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:457","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:642","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:721","Warn: npmCommand not pinned by hash: .github/workflows/tests_secondary.yml:483","Warn: npmCommand not pinned by hash: .github/workflows/tests_stress.yml:32","Warn: npmCommand not pinned by hash: .github/workflows/tests_video.yml:29"],"documentation":{"short":"Determines if the project has declared and pinned its dependencies.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'force pushes' disabled on branch 'main'","Info: 'allow deletion' disabled on branch 'main'","Info: status check found to merge onto on branch 'main'","Warn: number of required reviewers is only 1 on branch 'main'","Info: 'force pushes' disabled on branch 'release-1.25'","Info: 'allow deletion' disabled on branch 'release-1.25'","Warn: no status checks found to merge onto branch 'release-1.25'","Warn: number of required reviewers is only 0 on branch 'release-1.25'","Info: 'force pushes' disabled on branch 'release-1.24'","Info: 'allow deletion' disabled on branch 'release-1.24'","Warn: no status checks found to merge onto branch 'release-1.24'","Warn: number of required reviewers is only 0 on branch 'release-1.24'","Info: 'force pushes' disabled on branch 'release-1.23'","Info: 'allow deletion' disabled on branch 'release-1.23'","Warn: no status checks found to merge onto branch 'release-1.23'","Warn: number of required reviewers is only 0 on branch 'release-1.23'","Info: 'force pushes' disabled on branch 'release-1.22'","Info: 'allow deletion' disabled on branch 'release-1.22'","Warn: no status checks found to merge onto branch 'release-1.22'","Warn: number of required reviewers is only 0 on branch 'release-1.22'","Info: 'force pushes' disabled on branch 'release-1.21'","Info: 'allow deletion' disabled on branch 'release-1.21'","Warn: no status checks found to merge onto branch 'release-1.21'","Warn: number of required reviewers is only 0 on branch 'release-1.21'","Info: 'force pushes' disabled on branch 'release-1.20'","Info: 'allow deletion' disabled on branch 'release-1.20'","Warn: no status checks found to merge onto branch 'release-1.20'","Warn: number of required reviewers is only 0 on branch 'release-1.20'","Info: 'force pushes' disabled on branch 'release-1.19'","Info: 'allow deletion' disabled on branch 'release-1.19'","Warn: no status checks found to merge onto branch 'release-1.19'","Warn: number of required reviewers is only 0 on branch 'release-1.19'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-15T08:27:37.305Z","repository_id":37011209,"created_at":"2025-08-15T08:27:37.305Z","updated_at":"2025-08-15T08:27:37.305Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274357600,"owners_count":25270675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","chrome","chromium","e2e-testing","electron","end-to-end-testing","firefox","javascript","playwright","test","test-automation","testing","testing-tools","web","webkit"],"created_at":"2024-07-30T17:01:53.262Z","updated_at":"2025-09-09T20:25:53.066Z","avatar_url":"https://github.com/microsoft.png","language":"TypeScript","readme":"# 🎭 Playwright\n\n[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) \u003c!-- GEN:chromium-version-badge --\u003e[![Chromium version](https://img.shields.io/badge/chromium-141.0.7390.7-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)\u003c!-- GEN:stop --\u003e \u003c!-- GEN:firefox-version-badge --\u003e[![Firefox version](https://img.shields.io/badge/firefox-141.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)\u003c!-- GEN:stop --\u003e \u003c!-- GEN:webkit-version-badge --\u003e[![WebKit version](https://img.shields.io/badge/webkit-26.0-blue.svg?logo=safari)](https://webkit.org/)\u003c!-- GEN:stop --\u003e [![Join Discord](https://img.shields.io/badge/join-discord-informational)](https://aka.ms/playwright/discord)\n\n## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright)\n\nPlaywright is a framework for Web Testing and Automation. It allows testing [Chromium](https://www.chromium.org/Home), [Firefox](https://www.mozilla.org/en-US/firefox/new/) and [WebKit](https://webkit.org/) with a single API. Playwright is built to enable cross-browser web automation that is **ever-green**, **capable**, **reliable** and **fast**.\n\n|          | Linux | macOS | Windows |\n|   :---   | :---: | :---: | :---:   |\n| Chromium \u003c!-- GEN:chromium-version --\u003e141.0.7390.7\u003c!-- GEN:stop --\u003e | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| WebKit \u003c!-- GEN:webkit-version --\u003e26.0\u003c!-- GEN:stop --\u003e | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Firefox \u003c!-- GEN:firefox-version --\u003e141.0\u003c!-- GEN:stop --\u003e | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n\nHeadless execution is supported for all browsers on all platforms. Check out [system requirements](https://playwright.dev/docs/intro#system-requirements) for details.\n\nLooking for Playwright for [Python](https://playwright.dev/python/docs/intro), [.NET](https://playwright.dev/dotnet/docs/intro), or [Java](https://playwright.dev/java/docs/intro)?\n\n## Installation\n\nPlaywright has its own test runner for end-to-end tests, we call it Playwright Test.\n\n### Using init command\n\nThe easiest way to get started with Playwright Test is to run the init command.\n\n```Shell\n# Run from your project's root directory\nnpm init playwright@latest\n# Or create a new project\nnpm init playwright@latest new-project\n```\n\nThis will create a configuration file, optionally add examples, a GitHub Action workflow and a first test example.spec.ts. You can now jump directly to writing assertions section.\n\n### Manually\n\nAdd dependency and install browsers.\n\n```Shell\nnpm i -D @playwright/test\n# install supported browsers\nnpx playwright install\n```\n\nYou can optionally install only selected browsers, see [install browsers](https://playwright.dev/docs/cli#install-browsers) for more details. Or you can install no browsers at all and use existing [browser channels](https://playwright.dev/docs/browsers).\n\n* [Getting started](https://playwright.dev/docs/intro)\n* [API reference](https://playwright.dev/docs/api/class-playwright)\n\n## Capabilities\n\n### Resilient • No flaky tests\n\n**Auto-wait**. Playwright waits for elements to be actionable prior to performing actions. It also has a rich set of introspection events. The combination of the two eliminates the need for artificial timeouts - a primary cause of flaky tests.\n\n**Web-first assertions**. Playwright assertions are created specifically for the dynamic web. Checks are automatically retried until the necessary conditions are met.\n\n**Tracing**. Configure test retry strategy, capture execution trace, videos and screenshots to eliminate flakes.\n\n### No trade-offs • No limits\n\nBrowsers run web content belonging to different origins in different processes. Playwright is aligned with the architecture of the modern browsers and runs tests out-of-process. This makes Playwright free of the typical in-process test runner limitations.\n\n**Multiple everything**. Test scenarios that span multiple tabs, multiple origins and multiple users. Create scenarios with different contexts for different users and run them against your server, all in one test.\n\n**Trusted events**. Hover elements, interact with dynamic controls and produce trusted events. Playwright uses real browser input pipeline indistinguishable from the real user.\n\nTest frames, pierce Shadow DOM. Playwright selectors pierce shadow DOM and allow entering frames seamlessly.\n\n### Full isolation • Fast execution\n\n**Browser contexts**. Playwright creates a browser context for each test. Browser context is equivalent to a brand new browser profile. This delivers full test isolation with zero overhead. Creating a new browser context only takes a handful of milliseconds.\n\n**Log in once**. Save the authentication state of the context and reuse it in all the tests. This bypasses repetitive log-in operations in each test, yet delivers full isolation of independent tests.\n\n### Powerful Tooling\n\n**[Codegen](https://playwright.dev/docs/codegen)**. Generate tests by recording your actions. Save them into any language.\n\n**[Playwright inspector](https://playwright.dev/docs/inspector)**. Inspect page, generate selectors, step through the test execution, see click points and explore execution logs.\n\n**[Trace Viewer](https://playwright.dev/docs/trace-viewer)**. Capture all the information to investigate the test failure. Playwright trace contains test execution screencast, live DOM snapshots, action explorer, test source and many more.\n\nLooking for Playwright for [TypeScript](https://playwright.dev/docs/intro), [JavaScript](https://playwright.dev/docs/intro), [Python](https://playwright.dev/python/docs/intro), [.NET](https://playwright.dev/dotnet/docs/intro), or [Java](https://playwright.dev/java/docs/intro)?\n\n## Examples\n\nTo learn how to run these Playwright Test examples, check out our [getting started docs](https://playwright.dev/docs/intro).\n\n#### Page screenshot\n\nThis code snippet navigates to Playwright homepage and saves a screenshot.\n\n```TypeScript\nimport { test } from '@playwright/test';\n\ntest('Page Screenshot', async ({ page }) =\u003e {\n  await page.goto('https://playwright.dev/');\n  await page.screenshot({ path: `example.png` });\n});\n```\n\n#### Mobile and geolocation\n\nThis snippet emulates Mobile Safari on a device at given geolocation, navigates to maps.google.com, performs the action and takes a screenshot.\n\n```TypeScript\nimport { test, devices } from '@playwright/test';\n\ntest.use({\n  ...devices['iPhone 13 Pro'],\n  locale: 'en-US',\n  geolocation: { longitude: 12.492507, latitude: 41.889938 },\n  permissions: ['geolocation'],\n})\n\ntest('Mobile and geolocation', async ({ page }) =\u003e {\n  await page.goto('https://maps.google.com');\n  await page.getByText('Your location').click();\n  await page.waitForRequest(/.*preview\\/pwa/);\n  await page.screenshot({ path: 'colosseum-iphone.png' });\n});\n```\n\n#### Evaluate in browser context\n\nThis code snippet navigates to example.com, and executes a script in the page context.\n\n```TypeScript\nimport { test } from '@playwright/test';\n\ntest('Evaluate in browser context', async ({ page }) =\u003e {\n  await page.goto('https://www.example.com/');\n  const dimensions = await page.evaluate(() =\u003e {\n    return {\n      width: document.documentElement.clientWidth,\n      height: document.documentElement.clientHeight,\n      deviceScaleFactor: window.devicePixelRatio\n    }\n  });\n  console.log(dimensions);\n});\n```\n\n#### Intercept network requests\n\nThis code snippet sets up request routing for a page to log all network requests.\n\n```TypeScript\nimport { test } from '@playwright/test';\n\ntest('Intercept network requests', async ({ page }) =\u003e {\n  // Log and continue all network requests\n  await page.route('**', route =\u003e {\n    console.log(route.request().url());\n    route.continue();\n  });\n  await page.goto('http://todomvc.com');\n});\n```\n\n## Resources\n\n* [Documentation](https://playwright.dev)\n* [API reference](https://playwright.dev/docs/api/class-playwright/)\n* [Contribution guide](CONTRIBUTING.md)\n* [Changelog](https://github.com/microsoft/playwright/releases)\n","funding_links":[],"categories":["TypeScript","Packages","Dev Tools","Projects Using Stacks","HarmonyOS","UI \u0026 Browser Automation","Repository","Development","JavaScript","Programming","🌐 Browser Automation","Chrome DevTools Protocol","包","Testing","[Automation Testing](TestingDomains.md/#automation-testing)","[TypeScript](#typescript)","Don't forget to give a :star: to make the project popular","前端开发框架及项目","Testing Frameworks","测试","Tool Collection","目录","Browser \u0026 Desktop Ops Agents","automation","Web App Testing","按领域分类","Infrastructure Tooling","Automated API Testing \u0026 Load Testing Tools","Awesome Tools","Automation","Tools","Application Recommendation","testing","Uncategorized","chromium","AI拓展工具","AI Web Scraping \u0026 Automation","🌟 Community Integrations","Node","📖 Categories","web","Eight e2e testing tools for Node.js, JavaScript and TypeScript","🇬🇧 English Resources","Open Source Libraries","Tools and frameworks (a-z↓)"],"sub_categories":["Testing","Test","Integrations","Windows Manager",".NET","Automation \u0026 RPA","Programming","JavaScript","The big two automation libraries","测试","其他_文本生成、文本对话","Runner","Search","playwright","前端","54. [Playwright](https://playwright.dev/docs/api-testing)","Languages","React Components","Browser Automation","🤖 Automation Tools","Uncategorized","End to End","Testing \u0026 Quality Assurance","工具库","React Testing","Syntax highlighting","AI_Testers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fplaywright","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fplaywright","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fplaywright/lists"}