@http-forge/playwright
v0.1.1
Published
Runtime package for HTTP Forge generated Playwright API clients
Downloads
24
Maintainers
Readme
@http-forge/playwright
The runtime and shared types package for Playwright clients generated by HTTP Forge.
Use this with @http-forge/codegen to run typed API client functions in Playwright tests with consistent environment interpolation and URL building.
Who It Is For
- Teams generating typed API clients from HTTP Forge workspaces.
- Playwright users who want reusable request runtime utilities.
- QA and automation engineers who need environment-aware API tests.
- CI/CD pipelines running generated clients in Playwright.
Why @http-forge/playwright
- Keep generated files small by centralizing runtime behavior.
- Use
ForgeEnvfor{{variable}}interpolation and path/query URL composition. - Share common request option/types across generated client files.
- Keep Playwright API test code consistent across projects.
How It Fits In HTTP Forge Family
| Component | Role |
|---|---|
| HTTP Forge VS Code extension | Build and validate requests/collections in workspace |
| @http-forge/core | Shared execution and Postman-compatible runtime behavior |
| @http-forge/codegen | Generates typed TypeScript API client functions |
| @http-forge/playwright | Runtime + shared types used by generated Playwright clients |
| HTTP Forge CLI | Headless collection/suite runs and reporting for CI/CD |
@http-forge/playwright is focused on generated Playwright client runtime. It does not replace extension UI workflows or CLI collection execution.
1-Minute Quickstart
# 1) Install
npm install @http-forge/playwright @playwright/test
# 2) Generate clients (via @http-forge/codegen in your flow)
# 3) Use generated client + ForgeEnv in Playwright testsimport { test, expect } from '@playwright/test';
import { ForgeEnv } from '@http-forge/playwright';
import { loginRequest } from './generated/login-request';
test('login flow', async ({ request }) => {
const env = ForgeEnv.create({
baseUrl: 'https://auth.example.com',
clientId: 'my-client-id'
});
const response = await loginRequest({
request,
env,
query: {
client_id: '{{clientId}}',
response_type: 'code'
}
});
expect(response.ok()).toBeTruthy();
});Core Exports
import { ForgeEnv, type IForgeEnv } from '@http-forge/playwright';
import { ForgeEnv as ForgeEnvRuntime } from '@http-forge/playwright/forge-env';
import type { HttpHeaders, BaseRequestContext, BaseApiOptions } from '@http-forge/playwright/shared-types';Detailed Docs
- Integration guide: docs/integration-with-http-forge-family.md
License
MIT
