{"id":47693840,"url":"https://github.com/specmatic/specmatic-studio-playwright-ts-tests","last_synced_at":"2026-04-02T16:11:43.877Z","repository":{"id":337406338,"uuid":"1147774756","full_name":"specmatic/specmatic-studio-playwright-ts-tests","owner":"specmatic","description":"Automated tests for Specmatic Studio","archived":false,"fork":false,"pushed_at":"2026-03-26T07:02:04.000Z","size":738,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-26T07:05:03.359Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/specmatic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2026-02-02T07:32:40.000Z","updated_at":"2026-03-26T07:02:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/specmatic/specmatic-studio-playwright-ts-tests","commit_stats":null,"previous_names":["specmatic/specmatic-studio-playwright-ts-tests"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/specmatic/specmatic-studio-playwright-ts-tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specmatic%2Fspecmatic-studio-playwright-ts-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specmatic%2Fspecmatic-studio-playwright-ts-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specmatic%2Fspecmatic-studio-playwright-ts-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specmatic%2Fspecmatic-studio-playwright-ts-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/specmatic","download_url":"https://codeload.github.com/specmatic/specmatic-studio-playwright-ts-tests/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specmatic%2Fspecmatic-studio-playwright-ts-tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31309714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"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":[],"created_at":"2026-04-02T16:11:42.521Z","updated_at":"2026-04-02T16:11:43.843Z","avatar_url":"https://github.com/specmatic.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Specmatic Playwright TypeScript Tests\n\nThis project contains automated end-to-end tests using [Playwright](https://playwright.dev/) and TypeScript, designed to work with [Specmatic](https://specmatic.in/) for contract-driven testing.\n\n## Project Structure\n\n- `specs/` - Contains Playwright test specs (e.g., `example.spec.ts`).\n- `playwright.config.ts` - Playwright configuration file.\n- `package.json` - Project dependencies and scripts.\n- `playwright-report/` - Generated Playwright HTML reports.\n- `test-results/` - Raw test result files.\n\n## Getting Started\n\n### Prerequisites\n- [Node.js](https://nodejs.org/) (v16 or above recommended)\n- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/)\n\n### Installation\n\nInstall dependencies:\n\n```bash\nnpm install\n# or\nyarn install\n```\n\n#### Installing Playwright agents in VS Code:\n\n```bash\nnpx playwright init-agents --loop=vscode\n```\n\n## Using the Codex Skill\n\nThis repo includes a Codex skill for working on these Playwright tests:\n`$specmatic-studio-playwright`\n\nUse it explicitly in a prompt when you want Codex to follow this repo's testing, page-object, screenshot, and visual-validation conventions.\n\nExample prompts:\n\n```text\nUse $specmatic-studio-playwright to add a new OpenAPI test that saves a valid spec and verifies the success flow.\n\nUse $specmatic-studio-playwright to refactor screenshot handling so Applitools validation only runs when explicitly requested.\n\nUse $specmatic-studio-playwright to add an @eyes visual test for the example generation flow.\n\nUse $specmatic-studio-playwright to create a page-object method for opening the right sidebar and asserting a process bar is visible.\n\nUse $specmatic-studio-playwright to review this Playwright spec and align it with the repo's page-object and screenshot conventions.\n```\n\nYou can also ask naturally without naming the skill, but mentioning\n`$specmatic-studio-playwright` makes the intended guidance much more reliable.\n\n### Running Tests\n\nTo run all Playwright end-to-end tests.\n```bash\nnpx playwright test\n```\n\nTo run a specific test file:\n```bash\nnpx playwright test tests/example.spec.ts\n```\n\nRuns the tests in a specific file.\n```bash\n  npx playwright test example\n```    \n\nStarts the interactive UI mode.\n```bash\n  npx playwright test --ui\n```\n    \nRuns the tests only on Desktop Chrome.\n```bash\n  npx playwright test --project=chromium\n```    \n\nRuns the tests in debug mode.\n```bash\n  npx playwright test --debug\n```\n\nAuto generate tests with Codegen.\n```bash\n  npx playwright codegen\n```\n\n### Running Against a Specmatic Studio Jar\n\nIf `SPECMATIC_STUDIO_JAR_URL` is set, the test run will start Specmatic\nStudio from that jar instead of using Docker.\n\n```bash\nSPECMATIC_STUDIO_JAR_URL=\"https://repo.example.com/executable-all-1.8.1.jar\" \\\nSPECMATIC_STUDIO_JAR_OVERWRITE=false \\\nnpx playwright test\n```\n\nTo dry-run jar resolution without downloading or starting Specmatic Studio:\n\n```bash\nSPECMATIC_STUDIO_JAR_URL=LATEST node utils/specmatic-studio-runtime.js resolve\n```\n\n```bash\nSPECMATIC_STUDIO_JAR_URL=LATEST_SNAPSHOT node utils/specmatic-studio-runtime.js resolve\n```\n\n```bash\nSPECMATIC_STUDIO_JAR_URL=LATEST_RELEASE node utils/specmatic-studio-runtime.js resolve\n```\n\nWhat happens in jar mode:\n\n- The jar is downloaded into the repo-local `temp/` directory and reused on later runs.\n- Set `SPECMATIC_STUDIO_JAR_OVERWRITE=true` to force a fresh download.\n- `SPECMATIC_STUDIO_JAR_URL=LATEST_SNAPSHOT` resolves the newest snapshot jar from the Specmatic snapshots repository.\n- `SPECMATIC_STUDIO_JAR_URL=LATEST_RELEASE` resolves the newest release jar from the Specmatic releases repository.\n- `SPECMATIC_STUDIO_JAR_URL=LATEST` resolves the newest available jar across the Specmatic snapshot and release repositories.\n- The test run starts `java -jar \u003cdownloaded-jar\u003e studio --port 9000`.\n- Playwright uses `http://127.0.0.1:9000/_specmatic/studio` as the `BASE_URL` for the run.\n- If Java is not installed or `java` is not available on `PATH`, the run fails with a clear error.\n- If port `9000` is already in use, the run fails with a clear error.\n- Global teardown stops the Java process after the tests complete.\n\n### Running Tests by Tag\n\nTo run tests with a specific tag (e.g., `@dashboard-overview`), use the following npm script:\n\n```bash\nnpm run test:tag -- @dashboard-overview\n```\n\n\u003e **Note:** The `--` is required to forward the tag argument to Playwright. This will run only the tests annotated with the specified tag.\n\nYou can also use any other tag, such as `@admin`, in the same way:\n\n```bash\nnpm run test:tag -- @admin\n```\n\nTo run tests with a specific tag using npx (no npm script required):\n\n```bash\nnpx playwright test --grep @dashboard-overview\n```\n\nYou can use any tag, for example:\n\n```bash\nnpx playwright test --grep @admin\n```\n\n### Viewing Reports\n\nAfter running tests, view the HTML report:\n\n```bash\nnpx playwright show-report\n```\n\nThe report will open in your default browser.\n\n## Integrating with Specmatic\n\nThis project is intended to be used alongside Specmatic for contract-driven testing. Refer to the [Specmatic documentation](https://specmatic.in/docs/) for integration steps and best practices.\n\n## Useful Links\n- [Playwright Documentation](https://playwright.dev/docs/intro)\n- [Specmatic Documentation](https://specmatic.in/docs/)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecmatic%2Fspecmatic-studio-playwright-ts-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspecmatic%2Fspecmatic-studio-playwright-ts-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecmatic%2Fspecmatic-studio-playwright-ts-tests/lists"}