{"_id":"@rstest/playwright","_rev":"15-df340f860d8e1550902615627a9f3558","name":"@rstest/playwright","dist-tags":{"latest":"0.12.2"},"versions":{"0.11.1":{"name":"@rstest/playwright","version":"0.11.1","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.1","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"homepage":"https://github.com/web-infra-dev/rstest#readme","bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"af3be05849f40e0d3de25c3d77b3053785ed13ad","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.1.tgz","fileCount":9,"integrity":"sha512-VhA5SvfYTdC9nJ572Q5NfR8OqcHWr9Agd9zWrkSCBC3sQDwuWLiZTTX4wAv8hMwRtDGzNG0otUPTDrCQ1r0hWQ==","signatures":[{"sig":"MEQCIFALN6oPpRM3TpUoTbR57zieFnUYVNVV9Cuw/5RiHrMMAiBK/sEB2WpBK5MKaweAPi6gn9ioBdoaCakquD0HNAABcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67176},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"gitHead":"ddf612fbdda21ebf779ee44f4842f72fcc21e624","scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","test":"pnpm run build && rstest","build":"rslib build","typecheck":"pnpm -w exec tsc --noEmit -p packages/playwright/tsconfig.json"},"_npmUser":{"name":"fi3ework","email":"fi3ework@gmail.com"},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"_npmVersion":"11.9.0","description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.61.1","typescript":"^6.0.3","@rslib/core":"0.23.2","@rstest/core":"workspace:*","@rstest/tsconfig":"workspace:*"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"workspace:^"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.1_1783609743191_0.8629428030572965","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@rstest/playwright","version":"0.11.2","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.2","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"429424ee637d6324c3954335583b7bf542370da4","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.2.tgz","fileCount":10,"integrity":"sha512-Jm464bw45XIgXbkURjJCldvj91IZKfGRgALEbwMtaWJW62N/+5AJgn00pW7h1l7dX+qxmGVb/rr4+XMVb3auDA==","signatures":[{"sig":"MEYCIQC7XGkaGxxpVMFW9G14PxkGygze6F/tigzjHK0wvePBigIhAO/iLbalohH8E5VXUgaUwYnDJYSDnNowu9jGxIHqoEh2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83400},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","test":"pnpm run build && rstest","build":"rslib build","typecheck":"pnpm -w exec tsc --noEmit -p packages/playwright/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"fi3ework","email":"fi3ework@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.61.1","typescript":"^6.0.3","@rslib/core":"0.23.2","@rstest/core":"0.11.2","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.2"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.2_1784108261308_0.8109915713364368","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@rstest/playwright","version":"0.11.3","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.3","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"988c77dad71b512d80e3eeb963c0d0645ee6eea2","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.3.tgz","fileCount":10,"integrity":"sha512-OztKKnxb+TfA2rkHtEy8rD04mYUN+f38qnI18eU4Kr6MIeWPf6spmU2X+WUgDcYwt6rjypvGYPirPDqpOWYydw==","signatures":[{"sig":"MEQCICY9vVdyGPvKgBSW99T+Sgpu/CsBkWfQG3MRmcHbOWLsAiBgHX5+MdRrJPDY92Uv8pdUVx/4ZWk5KUXCSiWF1ON/0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83400},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","test":"pnpm run build && rstest","build":"rslib build","typecheck":"pnpm -w exec tsc --noEmit -p packages/playwright/tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.61.1","typescript":"^6.0.3","@rslib/core":"0.23.2","@rstest/core":"0.11.3","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.3"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.3_1784633236082_0.24714688958313613","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"@rstest/playwright","version":"0.11.4","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.4","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"0f5fc0a38015a35d91f98a6dbd41ff0cdf1c4bff","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.4.tgz","fileCount":10,"integrity":"sha512-N7xG7yzJb4d7iNjQOrNMDesvcN3nVAf7vgn17pBRIMce83QCkZIyNS+Dfit0XNAOPp3zJiGsVkby3MorPg5DJg==","signatures":[{"sig":"MEUCIQCmYyxEyvsOFG3+79NN3aO9WjeGhISTaXiX/b1f4KH/hwIgFGE6wfLkxarp+z+JjkGWf+Hu+uc+w+CQvyJ3lYnGRkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83690},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.61.1","typescript":"^6.0.3","@rslib/core":"1.0.0-beta.1","@rstest/core":"0.11.4","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.4"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.4_1784890344811_0.3387919222141973","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@rstest/playwright","version":"0.11.5","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.5","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"18ccabd27f7f17b4bc8b4990bf8c997122c3af42","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.5.tgz","fileCount":10,"integrity":"sha512-Roich/CQmbvPjPLMsZD5yjpIp5EvoumN1ZCsSvPx6ote8JX8e3nvvagHIif/DYzdEOVm50SIZuDMtDoTET/RSA==","signatures":[{"sig":"MEUCIAHzv/uLhZljNTJO0ALfhZ85DU05z7zzOzRNzGbA6Q9aAiEAyGl05J9katzqHr8X3/zJj21Pr88ti80MBf2I0jbVaog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83690},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.0","typescript":"^6.0.3","@rslib/core":"1.0.0-beta.1","@rstest/core":"0.11.5","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.5"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.5_1785318458115_0.9020173972480254","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@rstest/playwright","version":"0.11.6","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.6","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"e2d7b21498a4d61bc883291570b58256bf9172eb","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.6.tgz","fileCount":10,"integrity":"sha512-wsux9yY62UEyGfP4j0GZ1kv61LJ5lSZEvVmn6uNDXL+sQYKib0UM8ZWtZVPwFGIlpQcWST2RslmVW9A0QerItQ==","signatures":[{"sig":"MEQCIFYZyR+ZZ6eGpjxE5g+uNmDuJVrtr7/srDm1LZsJE0FKAiANmLQDVjNn2cGeeS+FmxO5SOuX+JASx4DTukAwWg+CLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84503},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.1","typescript":"^6.0.3","@rslib/core":"1.0.0-beta.1","@rstest/core":"0.11.6","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.6"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.6_1785910459553_0.31922656843846897","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"@rstest/playwright","version":"0.11.7","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.7","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"ad69afc21c8b8e97e7177b1a7d0dc7f126e2918c","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.7.tgz","fileCount":10,"integrity":"sha512-AfYrgoISFXFmZOYO0CKHKI39XFTtEb7USiuGX9isds9T8f38kW8aDdfXXhnSYVIip7dZp/YtmUpTEE4xDisqGA==","signatures":[{"sig":"MEQCIBeGT16Ct6+mA2ADPTRmAU+ZD7p/9TUxYaleK0095VWKAiAqydZn899FF3AltBQh7uMWfL1j2MqAw4vI+RcbJ9z+sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90889},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.1","typescript":"^6.0.3","@rslib/core":"1.0.0-beta.2","@rstest/core":"0.11.7","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.6"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.7_1786608539725_0.9267497904583162","host":"s3://npm-registry-packages-npm-production"}},"0.11.8":{"name":"@rstest/playwright","version":"0.11.8","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.8","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"92522e35bc1937e628332922126c993484a9c600","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.8.tgz","fileCount":10,"integrity":"sha512-EhdDPWqCne9Y92XhTSZk3fPkj9m1ZLTocMrU9cJ2Bsa+wECKJh2UADfEwiMyU48S6YMhVsDPRVbfpvUPX8Jd0A==","signatures":[{"sig":"MEUCIQD1xottGpuJCAJwspbrvo3gNyGpmlM7LPC1xG3VcXiSAAIgKaKAzBnG/NSYu6I/8KX1Jo9luhworBCPfhs6xEgwoso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90889},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.1","typescript":"^6.0.3","@rslib/core":"1.0.0-beta.2","@rstest/core":"0.11.8","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.6"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.8_1786620750314_0.14877381820584934","host":"s3://npm-registry-packages-npm-production"}},"0.11.9":{"name":"@rstest/playwright","version":"0.11.9","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.9","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"d40f7f9c3b9b86183f4a7b64349ac4885399ae70","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.9.tgz","fileCount":10,"integrity":"sha512-Dseeyu/RRAp0g/N+e7QOG3WUTX34igyZPEW/xWUhzW4x+ELEPTwxWqsX3YNKvgVUH9V0aSeDQqyn2CMgtpfbeA==","signatures":[{"sig":"MEUCIQCHW98LIc1Y79sHqEJZARJumFV19272yxgFymbG6pEYYwIgctzjUtArB7u0cE9/F9YQzzED/wCSbrUYaes1lXc/spc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92167},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.1","typescript":"^6.0.3","@rslib/core":"1.0.0-beta.3","@rstest/core":"0.11.9","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.9"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.9_1787214394687_0.6323428503321347","host":"s3://npm-registry-packages-npm-production"}},"0.11.10":{"name":"@rstest/playwright","version":"0.11.10","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.10","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"d4ec29d4e53f96d1da6f0e7f1489310dd68b4627","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.10.tgz","fileCount":10,"integrity":"sha512-GY8aE9oNavl7m5hbdpxvO5ot0cH3rSISnzeZU5IeO3lgd7+2OszfWS/EbohwjEq5qr6W64ByQ3sDZBboq6vMEQ==","signatures":[{"sig":"MEQCIG1SDpEcJgB+Du/kkmZdDOh/eW68ntpADAyIlSJqBKM6AiAcpPuToDo6ua/a2zfxOnJAFaskr55+C3Rv5DXhguDdWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.1","typescript":"^6.0.3","@rslib/core":"1.0.0-beta.3","@rstest/core":"0.11.10","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.9"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.10_1787725377410_0.722544116126548","host":"s3://npm-registry-packages-npm-production"}},"0.11.11":{"name":"@rstest/playwright","version":"0.11.11","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.11","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"9c2a6e666ec97f330172c02fe7ee392946a037c9","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.11.tgz","fileCount":10,"integrity":"sha512-XrEvePMbRR+Au6UO+maCJmZpERZNQ7ZCKr33FrDSKOm/LdgbdUzRMSN/8LqiMBO5v2wiWHhpgug4qvwjx4nB0g==","signatures":[{"sig":"MEUCIFlIXkWOfikrpV5o5NA0Ap66mp83y/6c8Y7Yu9alK0VPAiEA2ZKPVvICRxY4EWk2CyOg+fDQBtt/fbcjPg7v6406VRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92447},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.1","typescript":"^6.0.3","@rslib/core":"1.0.0-rc.2","@rstest/core":"0.11.11","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.9"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.11_1788167674757_0.8813963573496608","host":"s3://npm-registry-packages-npm-production"}},"0.11.12":{"name":"@rstest/playwright","version":"0.11.12","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.11.12","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"59c693ec269d70c0b8351e1688cc4b5388d89968","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.11.12.tgz","fileCount":10,"integrity":"sha512-fU9BjRnCTsJNw2oEOY1aq/ozSt5gGuZMW6NwVHZrdxmi/uwypoYIcWSAE/kWukRzAazaSdO+wYZ4fB2IC8kLCA==","signatures":[{"sig":"MEUCIQC4dGve/ibSzPpLYXY9MHOnbkoMW3y7ow5gPWxaN+Ti2gIgFuo49qzhJQbCpLNLON54UDBRF1bp2EE4KWE2jdDeslQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.11.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92443},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"fi3ework","email":"fi3ework@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.62.1","typescript":"^6.0.3","@rslib/core":"~1.0.0","@rstest/core":"0.11.12","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.11.9"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.11.12_1788440462487_0.3317256095670298","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@rstest/playwright","version":"0.12.0","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.12.0","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"9bfd5db3cd688f28098ef7dd9b5d812f9112cdba","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.12.0.tgz","fileCount":13,"integrity":"sha512-WzP9h+vwXQ49+/6U5/sDZKEFVY2NocVSuYG1FKHygKfQirW+N+h31EcW4rHifG8YsTWTnS9REePDTiHj3539Bg==","signatures":[{"sig":"MEUCICiHrI2GkbSbd4KmzRLQ2jiie/M0Rl2rsIou729k/9dkAiEAoJyI1LsBEaZTkMxqEtlcFn31W8MFjDiFHnC6yLTRulw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":97959},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./config":{"types":"./dist/config.d.ts","import":"./dist/config.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"fi3ework","email":"fi3ework@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.63.0","typescript":"^6.0.3","@rslib/core":"~1.0.1","@rstest/core":"0.12.0","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.12.0_1789641678374_0.44788931962221","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@rstest/playwright","version":"0.12.1","keywords":["rstest","playwright","testing","browser"],"license":"MIT","_id":"@rstest/playwright@0.12.1","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"71d755a48e25538abbf1f0cf0d5f73e2ce200cdc","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.12.1.tgz","fileCount":13,"integrity":"sha512-qZsoiVrqZtJnFqxKuyHwbVAQtx0LoQfpUMdZAaKw365hSjs2Xm8iycb8NqlUFL4vKvHpIAB4mIizK6RjDJR9TA==","signatures":[{"sig":"MEUCIQDyoLTc65Wtchy7vhhvuwk+okgYlAUUZ1iSiSiK7D5bwgIgDBs8aYB77HMJ3i4q9pyRcwAKdF4Y+BggiJPP9rX5G1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100201},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./config":{"types":"./dist/config.d.ts","import":"./dist/config.js"},"./package.json":{"default":"./package.json"}},"scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"9aoy","email":"9aoyuao@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"}},"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.63.0","typescript":"^6.0.3","@rslib/core":"~1.0.1","@rstest/core":"0.12.1","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/playwright_0.12.1_1790148098756_0.5779832870687607","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"_id":"@rstest/playwright@0.12.2","bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"dist":{"shasum":"94e5708bbc95b5f2702e2710a50f49902635d050","tarball":"https://registry.npmjs.org/@rstest/playwright/-/playwright-0.12.2.tgz","integrity":"sha512-Ray54gnJNbhqS8It9SicjLMTWpwKxsV7GSoeO6aoqlKs4z2cQ3nvf178lXMKzfBWrmEl17NykyrRPOgPP40/Pg==","fileCount":13,"unpackedSize":100201,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rstest%2fplaywright@0.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDSlGJlOr69S5Kh4wVazEPwGqvwHEVHfVvOv1XnRuG2NQIhAP3sbBHya0ytWD19BZZ0cNUzlxZiBk3hjHTaMv2OVIvs"}]},"main":"./dist/index.js","name":"@rstest/playwright","type":"module","types":"./dist/index.d.ts","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./config":{"types":"./dist/config.d.ts","import":"./dist/config.js"},"./package.json":{"default":"./package.json"}},"license":"MIT","scripts":{"dev":"cross-env SOURCEMAP=true rslib build --watch","lint":"rslint .","test":"pnpm run build && rstest","build":"rslib build"},"version":"0.12.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6370864f-c8e4-4a72-b3aa-cdc60322a999"},"approver":{"name":"fi3ework","email":"fi3ework@gmail.com"}},"keywords":["rstest","playwright","testing","browser"],"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","directories":{},"maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"playwright":"^1.63.0","typescript":"^6.0.3","@rslib/core":"~1.0.1","@rstest/core":"0.12.2","@rstest/tsconfig":"0.0.1"},"peerDependencies":{"playwright":"^1.49.1","@rstest/core":"^0.12.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/playwright_0.12.2_1790312597950_0.47318844146936057"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-09T15:09:03.011Z","modified":"2026-09-25T05:03:18.386Z","0.11.1":"2026-07-09T15:09:03.351Z","0.11.2":"2026-07-15T09:37:41.387Z","0.11.3":"2026-07-21T11:27:16.168Z","0.11.4":"2026-07-24T10:52:24.895Z","0.11.5":"2026-07-29T09:47:38.194Z","0.11.6":"2026-08-05T06:14:19.638Z","0.11.7":"2026-08-13T08:08:59.805Z","0.11.8":"2026-08-13T11:32:30.403Z","0.11.9":"2026-08-20T08:26:34.758Z","0.11.10":"2026-08-26T06:22:57.502Z","0.11.11":"2026-08-31T09:14:34.847Z","0.11.12":"2026-09-03T13:01:02.601Z","0.12.0":"2026-09-17T10:41:18.461Z","0.12.1":"2026-09-23T07:21:38.845Z","0.12.2":"2026-09-25T05:03:18.045Z"},"bugs":{"url":"https://github.com/web-infra-dev/rstest/issues"},"license":"MIT","keywords":["rstest","playwright","testing","browser"],"repository":{"url":"git+https://github.com/web-infra-dev/rstest.git","type":"git","directory":"packages/playwright"},"description":"Playwright fixture integration for Rstest","maintainers":[{"name":"chenjiahan","email":"416417567@163.com"},{"name":"fi3ework","email":"fi3ework@gmail.com"},{"name":"9aoy","email":"9aoyuao@gmail.com"}],"readme":"# @rstest/playwright\n\nPlaywright fixture integration for Rstest. It provides Node-side Playwright fixtures and retrying Playwright-style assertions for tests running in Rstest workers.\n\nUse `@rstest/playwright` for E2E tests against a complete page or app, such as a local dev server, a preview server, or a deployed URL. The test runs in a Node.js worker and uses Playwright to drive the page.\n\n## When to use it\n\n| Scenario                                                        | Recommended                                |\n| --------------------------------------------------------------- | ------------------------------------------ |\n| Test a component with Rstest's web bundling and browser runtime | Rstest browser mode with `@rstest/browser` |\n| Test a complete app or page through `page.goto()`               | `@rstest/playwright`                       |\n| Drive an existing dev server, preview server, or deployed URL   | `@rstest/playwright`                       |\n| Need in-browser component test utilities                        | Rstest browser mode                        |\n\nBecause `@rstest/playwright` controls an external page instead of running the test in Rstest's browser runner, it does not use the Browser UI preview iframe. For visual debugging, use headed mode with `PWDEBUG=1`.\n\n## Rstest playwright vs native playwright\n\n`@rstest/playwright` and native Playwright use different runners and configuration files:\n\n| Item          | `@rstest/playwright`                                  | Native Playwright                                  |\n| ------------- | ----------------------------------------------------- | -------------------------------------------------- |\n| Runner        | Rstest runner                                         | Playwright Test runner                             |\n| Configuration | `rstest.config.ts` and `playwright` fixture overrides | `playwright.config.ts`                             |\n| Test API      | Import `test` and `expect` from `@rstest/playwright`  | Import `test` and `expect` from `@playwright/test` |\n\nUse `@rstest/playwright` when you want Playwright-driven E2E tests to run in the same Rstest workflow as the rest of your tests. Use native Playwright when you want the full Playwright Test runner workflow and its configuration model.\n\n## Installation\n\n```bash\npnpm add -D @rstest/playwright playwright\npnpm exec playwright install chromium\n```\n\n## Usage\n\n```ts\nimport { expect, test } from '@rstest/playwright';\n\ntest('page title', async ({ page }) => {\n  await page.goto('https://example.com');\n\n  await expect(page).toHaveTitle(/Example/);\n  await expect(page.locator('h1')).toHaveText('Example Domain');\n});\n```\n\n### Playwright types\n\n`@rstest/playwright` re-exports commonly used Playwright types so test helpers can use the same entry point as `test` and `expect`:\n\n```ts\nimport { expect, test, type Locator, type Page } from '@rstest/playwright';\n\nconst getHeading = (page: Page): Locator => page.locator('h1');\n\ntest('page heading', async ({ page }) => {\n  await expect(getHeading(page)).toHaveText('Example Domain');\n});\n```\n\n`@rstest/playwright` is an Rstest integration layer, not a replacement for the `playwright` package. It re-exports selected types only and intentionally leaves runtime APIs such as `chromium`, `firefox`, `webkit`, and `request` in `playwright`:\n\n```ts\nimport { chromium, request } from 'playwright';\n```\n\nFor normal E2E tests, use the `browser`, `context`, `page`, and `request` fixtures instead. Rstest manages their lifecycle for you.\n\n## Fixtures\n\n`test` extends Rstest with these Playwright fixtures:\n\n- `browser`: a shared Chromium browser for the worker.\n- `context`: an isolated `BrowserContext` that is closed after each test.\n- `page`: an isolated `Page` that is closed after each test.\n- `request`: an isolated `APIRequestContext` that is disposed after each test.\n- `serve`: starts a static server from inside the test and cleans it up automatically.\n\nThe sections below show how each fixture is commonly used. `page` and `serve` link to the existing examples to avoid repeating the same code.\n\n### Using fixtures in hooks\n\nSuite-level hooks can request fixtures provided by the tests in that suite. Specify the hook's fixture context type explicitly; a fixture used only by a hook does not need `auto: true`:\n\n```ts\nimport {\n  beforeEach,\n  describe,\n  expect,\n  test,\n  type PlaywrightFixture,\n} from '@rstest/playwright';\n\ntype DashboardFixtures = PlaywrightFixture & {\n  route: string;\n};\n\nconst dashboardTest = test.extend<{ route: string }>({\n  route: '/dashboard',\n});\n\ndescribe('dashboard', () => {\n  beforeEach<DashboardFixtures>(async ({ page, route }) => {\n    await page.goto(`http://localhost:3000${route}`);\n  });\n\n  dashboardTest('shows the dashboard', async ({ page }) => {\n    await expect(page.locator('h1')).toHaveText('Dashboard');\n  });\n});\n```\n\nHooks are scoped to their `describe` block, not to an extended test object. Every test in the block must provide the fixtures requested by the hook; otherwise, Rstest fails that test before invoking the hook and reports the missing fixture. The same behavior applies to `afterEach` and to cleanup functions returned by `beforeEach`. Fixture instances are shared across the hooks and test body for one test attempt, then torn down in reverse setup order.\n\nDeclare fixture dependencies through direct object destructuring in the hook parameter. Destructuring a named context inside the hook body does not request fixtures. Rest properties and default values are not supported in fixture-aware callbacks.\n\n### Using fixtures with `test.for`\n\nDestructure fixtures directly from the second callback parameter when using `test.for`:\n\n```ts\ntest.for([{ path: '/dashboard' }])(\n  'opens $path',\n  async ({ path }, { page }) => {\n    await page.goto(`http://localhost:3000${path}`);\n  },\n);\n```\n\nA named second parameter can still access built-in `TestContext` APIs such as `task` and `expect`, but property access or destructuring through that name does not request fixtures.\n\n### `browser`\n\nUse `browser` when you need to create a custom browser context yourself:\n\n```ts\nimport { expect, test } from '@rstest/playwright';\n\ntest('custom browser context', async ({ browser }) => {\n  const context = await browser.newContext({ locale: 'en-US' });\n  const page = await context.newPage();\n\n  await page.goto('https://example.com');\n  await expect(page).toHaveTitle(/Example/);\n\n  await context.close();\n});\n```\n\n### `context`\n\nUse `context` when one test needs multiple pages that share the same browser context:\n\n```ts\nimport { expect, test } from '@rstest/playwright';\n\ntest('multiple pages', async ({ context }) => {\n  const page = await context.newPage();\n  const popup = await context.newPage();\n\n  await page.goto('https://example.com');\n  await popup.goto('https://example.com');\n\n  await expect(page).toHaveTitle(/Example/);\n  await expect(popup).toHaveTitle(/Example/);\n});\n```\n\n### `page`\n\nSee [Usage](#usage) for the common E2E flow of opening and asserting a page.\n\n### `request`\n\nUse `request` when you only need Playwright's API client and do not need to launch a browser:\n\n```ts\nimport { expect, test } from '@rstest/playwright';\n\ntest('health check', async ({ request }) => {\n  const response = await request.get('http://localhost:3000/health');\n\n  expect(response.ok()).toBe(true);\n});\n```\n\n### `serve`\n\nSee [Local app server](#local-app-server) for serving a built app from local files.\n\nLifecycle helpers can be imported from `@rstest/playwright`:\n\n```ts\nimport { afterEach, beforeEach, describe } from '@rstest/playwright';\n\nbeforeEach(() => {});\nafterEach(() => {});\ndescribe('suite', () => {});\n```\n\nIf your test modules do not rely on Node-side side effects that need isolation, set `isolate: false` in `rstest.config.ts` to reuse the worker module cache across test files and avoid repeated Playwright startup cost:\n\n```ts\nimport { defineConfig } from '@rstest/core';\n\nexport default defineConfig({\n  isolate: false,\n  testEnvironment: 'node',\n});\n```\n\n## Assertions\n\n`expect` delegates normal Rstest assertions to `@rstest/core`. When the actual value is a Playwright `Locator` or `Page`, it also provides these retrying Playwright-style async assertions:\n\n### Locator assertions\n\n- `toBeVisible(options?)`\n- `toBeHidden(options?)`\n- `toBeEnabled(options?)`\n- `toBeDisabled(options?)`\n- `toBeChecked(options?)`\n- `toBeUnchecked(options?)`\n- `toBeAttached(options?)`\n- `toBeDetached(options?)`\n- `toBeEditable(options?)`\n- `toBeFocused(options?)`\n- `toBeEmpty(options?)`\n- `toBeInViewport(options?)`\n- `toContainText(expected, options?)`\n- `toHaveAttribute(name, expected?, options?)`\n- `toHaveClass(expected, options?)`\n- `toHaveCSS(propertyName, expected, options?)`\n- `toHaveCount(expected, options?)`\n- `toHaveId(expected, options?)`\n- `toHaveJSProperty(name, expected, options?)`\n- `toHaveText(expected, options?)`\n- `toHaveValue(expected, options?)`\n\n### Page assertions\n\n- `toHaveTitle(expected, options?)`\n- `toHaveURL(expected, options?)`\n\nString text assertions normalize whitespace. Playwright locator/page assertions, including `.not` and `expect.soft`, use Rstest's `expect.poll.timeout`. A matcher's `options.timeout` takes precedence. `page.setDefaultTimeout()` does not control these assertion timeouts.\n\n## Configure playwright options\n\nSet Playwright defaults in `rstest.config.ts` with `definePlaywrightConfig`. The helper defaults `testTimeout` and `hookTimeout` to `30_000ms`, and `expect.poll.timeout` to `5000ms`. Explicit Rstest options override these defaults. Without the helper, Node Mode defaults `expect.poll.timeout` to `1000ms`. Worker count and file isolation retain Rstest defaults.\n\n```ts title=\"rstest.config.ts\"\nimport { defineConfig } from '@rstest/core';\nimport { definePlaywrightConfig } from '@rstest/playwright/config';\n\nexport default defineConfig({\n  extends: definePlaywrightConfig({\n    contextOptions: {\n      viewport: { width: 1440, height: 900 },\n    },\n  }),\n  expect: { poll: { timeout: 10_000 } },\n});\n```\n\n`definePlaywrightConfig` configures the default `playwright` fixture for the current project. In a multi-project config, add it to each Node.js project's `extends` that uses `@rstest/playwright`. Values must be JSON-serializable. For client certificates, use `certPath`/`keyPath`/`pfxPath` instead of direct `Buffer` values. Use `test.extend` for functions, class instances, or test-specific overrides:\n\n```ts\nimport { expect, test } from '@rstest/playwright';\nimport type { PlaywrightOptions } from '@rstest/playwright';\n\nconst e2e = test.extend({\n  playwright: {\n    contextOptions: {\n      viewport: { width: 390, height: 844 },\n    },\n  } satisfies PlaywrightOptions,\n});\n\ne2e('mobile page', async ({ page }) => {\n  await page.goto('http://localhost:3000');\n  await expect(page.locator('main')).toBeAttached();\n});\n```\n\n## Trace debugging\n\nSet `playwright.trace` or `RSTEST_PLAYWRIGHT_TRACE` to capture Playwright's official `trace.zip` artifact from the `context` fixture. The trace covers the default `page` fixture and pages created with `context.newPage()`. Fixture configuration takes priority over the environment variable, then falls back to `off`.\n\n```ts\nimport { expect, test } from '@rstest/playwright';\nimport type { PlaywrightOptions } from '@rstest/playwright';\n\nconst e2e = test.extend({\n  playwright: {\n    trace: process.env.CI ? 'on-first-retry' : 'off',\n  } satisfies PlaywrightOptions,\n});\n\ne2e('checkout', async ({ page }) => {\n  await page.goto('http://localhost:3000/checkout');\n  await expect(page.locator('main')).toBeAttached();\n});\n```\n\nFor temporary CLI-style debugging without changing test code, set `RSTEST_PLAYWRIGHT_TRACE`:\n\n```bash\nRSTEST_PLAYWRIGHT_TRACE=retain-on-failure rstest\n```\n\nUse `RSTEST_PLAYWRIGHT_TRACE_OUTPUT_DIR` to override the default output directory when trace is enabled by the environment variable:\n\n```bash\nRSTEST_PLAYWRIGHT_TRACE=on RSTEST_PLAYWRIGHT_TRACE_OUTPUT_DIR=.rstest/playwright-traces rstest\n```\n\n`trace` accepts `'off'`, `'on'`, `'retain-on-failure'`, `'on-first-retry'`, `'on-all-retries'`, or an options object. `on-first-retry` records and keeps only the first retry, while `on-all-retries` records and keeps every retry. Neither mode starts tracing during the initial attempt.\n\n```ts\nconst e2e = test.extend({\n  playwright: {\n    trace: {\n      mode: 'retain-on-failure',\n      outputDir: '.rstest/playwright-traces',\n      screenshots: true,\n      snapshots: true,\n      sources: true,\n    },\n  } satisfies PlaywrightOptions,\n});\n```\n\nBy default, traces are written to `.rstest/playwright-traces/<test-name>-<hash>/`. If the same test saves multiple traces, for example across retries, later attempts use a numeric suffix to avoid overwriting earlier traces. Every saved trace contains:\n\n- `trace.zip`: Playwright's official trace artifact. Open it with `npx playwright show-trace <path-to-trace.zip>`.\n\nWhen `summary` is enabled (the default), the directory also contains:\n\n- `trace-summary.json`: Rstest-aware test metadata, artifact paths, and error stacks for tools and AI assistants.\n- `debug.md`: a human-readable debugging report.\n\n`trace.zip` is not a generic Chrome/Perfetto trace. It is Playwright's trace format and is intended to be inspected with Playwright Trace Viewer.\n\n## Local app server\n\nUse the `serve` fixture when a test needs to serve a built app. It starts a static server for the entry file and automatically stops the server after the test:\n\n```ts\nimport { expect, test } from '@rstest/playwright';\n\ntest('home page', async ({ page, serve }) => {\n  const { url } = await serve('./dist/index.html');\n\n  await page.goto(url);\n  await expect(page.locator('h1')).toHaveText('Home');\n});\n```\n\nIn debug mode, `serve` keeps the server alive by default so the opened page remains available for inspection. In non-watch runs, this may keep the Rstest process open until you stop it manually. Pass `keepAliveOnDebug: false` to `serve` when the process should exit after the test.\n\nFor local debugging, set `PWDEBUG=1` to launch Chromium in headed mode with slow motion and DevTools enabled:\n\n```bash\nPWDEBUG=1 rstest watch\n```\n\nYou can also override the debug defaults from the test:\n\n```ts\nimport { test } from '@rstest/playwright';\nimport type { PlaywrightOptions } from '@rstest/playwright';\n\nconst e2e = test.extend({\n  playwright: {\n    debug: {\n      enabled: true,\n      slowMo: 100,\n      devtools: false,\n    },\n  } satisfies PlaywrightOptions,\n});\n\ne2e('debug page', async ({ page }) => {\n  await page.goto('http://localhost:3000');\n});\n```\n\nTo stop on a page while debugging, use Playwright's `page.pause()` with a zero test timeout:\n\n```ts\ntest('debug page state', { timeout: 0 }, async ({ page, serve }) => {\n  const { url } = await serve('./dist/index.html');\n\n  await page.goto(url);\n  await page.pause();\n});\n```\n\nIn debug mode, failed tests automatically call `page.pause()` before closing the page and context. Set `pauseOnFailure: false` in `debug` options, or `RSTEST_PLAYWRIGHT_PAUSE=false`, to disable this behavior.\n\nFor non-interactive debugging in CI or local runs, capture a screenshot when a test fails:\n\n```ts\nimport { test } from '@rstest/playwright';\n\ntest('home page', async ({ onTestFailed, page, serve }) => {\n  onTestFailed(async ({ task }) => {\n    await page.screenshot({\n      fullPage: true,\n      path: `${task.id}-failed.png`,\n    });\n  });\n\n  const { url } = await serve('./dist/index.html');\n\n  await page.goto(url);\n});\n```\n\nSee `examples/playwright` for a complete Rsbuild + Playwright example.\n","readmeFilename":""}