{"id":14990216,"url":"https://github.com/sand4rt/playwright-ct-web","last_synced_at":"2026-02-06T19:03:49.517Z","repository":{"id":65288990,"uuid":"583786184","full_name":"sand4rt/playwright-ct-web","owner":"sand4rt","description":"Playwright Web / Lit component testing","archived":false,"fork":false,"pushed_at":"2026-02-05T20:53:42.000Z","size":785,"stargazers_count":47,"open_issues_count":11,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-06T04:07:45.209Z","etag":null,"topics":["component-testing","lit","test","testing","web","web-component","webcomponent"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@sand4rt/experimental-ct-web","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/sand4rt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["sand4rt"]}},"created_at":"2022-12-30T23:06:39.000Z","updated_at":"2026-02-05T18:14:46.000Z","dependencies_parsed_at":"2023-11-13T16:47:56.717Z","dependency_job_id":"31f0c553-d960-4ba1-8a26-0f95d8f039b9","html_url":"https://github.com/sand4rt/playwright-ct-web","commit_stats":{"total_commits":99,"total_committers":1,"mean_commits":99.0,"dds":0.0,"last_synced_commit":"7171e10f49b759c26b4e56dba5c9d3cfcbbf0ab6"},"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"purl":"pkg:github/sand4rt/playwright-ct-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sand4rt%2Fplaywright-ct-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sand4rt%2Fplaywright-ct-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sand4rt%2Fplaywright-ct-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sand4rt%2Fplaywright-ct-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sand4rt","download_url":"https://codeload.github.com/sand4rt/playwright-ct-web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sand4rt%2Fplaywright-ct-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29172752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["component-testing","lit","test","testing","web","web-component","webcomponent"],"created_at":"2024-09-24T14:19:43.270Z","updated_at":"2026-02-06T19:03:49.511Z","avatar_url":"https://github.com/sand4rt.png","language":"TypeScript","funding_links":["https://github.com/sponsors/sand4rt"],"categories":[],"sub_categories":[],"readme":"# 🎭 Playwright Web component testing\n\n\u003e The API has been designed to closely resemble Playwright's API wherever applicable. This library is _(without guarantee)_ aimed at facilitating a smooth transition once Playwright offers official support for Web component testing.\n\n## Capabilities\n\n- Run tests fast, in parallel and optionally over multiple machines with [sharding](https://playwright.dev/docs/test-sharding) or [Azure's Testing Service](https://www.youtube.com/watch?v=FvyYC2pxL_8).\n- Run the test headless or headed accross multiple _real_ desktop and/or mobile browser engines.\n- Full support for shadow DOM, SVG/Canvas, multiple origins, (i)frames, browser tabs and contexts.\n- Minimizes flakyness, due to auto waiting, web first assertions and ensures that every test runs in [full isolation](https://playwright.dev/docs/browser-contexts).\n- Advanced [emulation capabilities](https://playwright.dev/docs/emulation) such as modifying screen size, geolocation, color scheme and [the network](https://playwright.dev/docs/mock-browser-apis).\n- Interactions with the components are indistinguishable from real user behavior.\n- [Visual regression / screenshot testing](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1).\n- Zero-configuration TypeScript support.\n\nAlong with all these ✨ awesome capabilities ✨ that come with Playwright, you will also get:\n\n- [Watch mode _(BETA)_](https://github.com/microsoft/playwright/issues/21960#issuecomment-1483604692).\n- [Visual Studio Code intergration](https://playwright.dev/docs/getting-started-vscode).\n- [UI mode](https://playwright.dev/docs/test-ui-mode) for debuging tests with a time travel experience complete with watch mode.\n- [Playwright Tracing](https://playwright.dev/docs/trace-viewer-intro) for post-mortem debugging in CI.\n- [Playwright Test Code generation](https://playwright.dev/docs/codegen-intro) to record and generate tests suites.\n\n## Usage\n\nInitialize Playwright Web component testing with PNPM, NPM or Yarn and follow the installation steps:\n\n```sh\npnpm create playwright-sand4rt --ct\n```\n```sh\nnpm init playwright-sand4rt@latest -- --ct\n```\n```sh\nyarn create playwright-sand4rt --ct\n```\n\nNow you can start creating your tests:\n\n```ts\n// Button.ts\nimport { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('button-component')\nexport class Button extends LitElement {\n  @property({ type: String })\n  title!: string;\n\n  render() {\n    return html`\u003cbutton\u003e${this.title}\u003c/button\u003e`;\n  }\n}\n```\n\n```jsx\n// Button.test.ts\nimport { test, expect } from '@sand4rt/experimental-ct-web';\nimport { Button } from './components/Button';\n\ntest('render props', async ({ mount }) =\u003e {\n  const component = await mount(Button, {\n    props: {\n      title: 'Submit',\n    },\n  });\n  await expect(component).toContainText('Submit');\n});\n```\n\nSee the official [playwright component testing documentation](https://playwright.dev/docs/test-components) and the tests for [lit](https://github.com/sand4rt/playwright-ct-web/tree/master/ct-web-lit/tests) and [native web components](https://github.com/sand4rt/playwright-ct-web/tree/master/ct-web/tests) for more information on how to use it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsand4rt%2Fplaywright-ct-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsand4rt%2Fplaywright-ct-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsand4rt%2Fplaywright-ct-web/lists"}