{"id":21298741,"url":"https://github.com/spaceagetv/electron-playwright-example","last_synced_at":"2025-08-22T06:40:02.427Z","repository":{"id":44622479,"uuid":"416569797","full_name":"spaceagetv/electron-playwright-example","owner":"spaceagetv","description":"Example of multi-window Playwright testing with Electron","archived":false,"fork":false,"pushed_at":"2023-02-04T20:16:04.000Z","size":827,"stargazers_count":52,"open_issues_count":4,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-03-05T19:58:13.965Z","etag":null,"topics":["e2e","electron","playwright","testing","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spaceagetv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-10-13T03:00:27.000Z","updated_at":"2023-03-04T13:19:20.000Z","dependencies_parsed_at":"2023-02-18T19:15:27.376Z","dependency_job_id":null,"html_url":"https://github.com/spaceagetv/electron-playwright-example","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaceagetv%2Felectron-playwright-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaceagetv%2Felectron-playwright-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaceagetv%2Felectron-playwright-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaceagetv%2Felectron-playwright-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spaceagetv","download_url":"https://codeload.github.com/spaceagetv/electron-playwright-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225750180,"owners_count":17518315,"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","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":["e2e","electron","playwright","testing","typescript"],"created_at":"2024-11-21T14:57:01.851Z","updated_at":"2024-11-21T14:57:03.239Z","avatar_url":"https://github.com/spaceagetv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# electron-playwright-example\n\nExample of multi-window [Playwright](https://playwright.dev) testing with [Electron](https://www.electronjs.org)\n\n```shell\ngit clone https://github.com/spaceagetv/electron-playwright-example.git\ncd electron-playwright-example\nnpm install\nnpm run e2e\n```\n\n## 🚀 electron-playwright-helpers!!\n\nThe library of helper functions for this project has been broken out into its own NPM package,\nwhich you can install in your own project and use when writing your own tests. Find the\n**electron-playwright-helpers** library [on GitHub](https://github.com/spaceagetv/electron-playwright-helpers) and [NPM](https://www.npmjs.com/package/electron-playwright-helpers).\n\n## Notes\n\nThis example uses Electron Forge configured to build with Webpack. Since we're testing the .webpack code, this test does a `npm run package` to prepare the code before each `npm run e2e`.\n\nNote also that `nodeIntegration` is enabled and `contextIsolation` is disabled when the `CI` environment variable is set to \"1\". This allows us to maintain recommended Electron security for our distributed app, while allowing us greater access while testing.\n\nFind the tests in the `e2e-tests` directory.\n\n**Tests:**\n\n1. The first window is loaded\n2. Button exists on the page\n3. Clicking the button opens a new window\n4. Check the title of the new window\n5. Trigger an IPC listener directly in the main process\n6. Send an IPC message from the renderer\n7. Receive IPC invoke/handle via renderer\n8. Click a menu item in the main process\n9. Make sure two screenshots match one another\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaceagetv%2Felectron-playwright-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspaceagetv%2Felectron-playwright-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaceagetv%2Felectron-playwright-example/lists"}