PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchUse Playwright Test’s CLI to run tests, UI Mode or the Inspector to debug them, projects to vary browsers and environments, and reports or traces to inspect failures. Start with a small test that checks a user-visible result; then expand it into the browser and device projects your application needs. Generated code and passing retries are useful signals, not proof that a test is complete or reliable.
Write and run a first Playwright test
A Playwright Test test imports test and expect from @playwright/test. The runner supplies the page fixture, which represents a browser page for the test. Fixtures provide test resources and isolated setup, so a test can navigate and assert without manually creating a page first.
import { test, expect } from '@playwright/test';
test('home page has the expected title', async ({ page }) => {
await page.goto('https://example.com');
await expect(page).toHaveTitle(/Example Domain/);
});
Save the test in a file matched by the project’s Playwright configuration, then run the suite from the project directory:
npx playwright test
The CLI runs tests headlessly and in parallel by default. The command reports results in the terminal. To watch the browser while tests run, add --headed:
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
npx playwright test --headed
For a more focused run, pass a file or directory, a line number, a title filter, or a project name. Use --workers=1 to run with a single worker when you need a less concurrent run—for example, while investigating a test that behaves differently under parallel load.
npx playwright test tests/checkout.spec.ts
npx playwright test tests/checkout.spec.ts:18
npx playwright test -g "home page has the expected title"
npx playwright test --project=chromium
npx playwright test --workers=1
A test should assert the behavior that matters to the user, not merely that navigation did not throw an error. Playwright’s web-first assertions retry while checking for the expected state, up to the assertion timeout. For example, toHaveTitle waits for a matching title rather than requiring the title to be ready at the exact instant the assertion starts. Prefer such assertions over fixed pauses when the condition can be expressed directly.
Generate a test, then make it intentional
Codegen records browser interactions and suggests test code and locators. Start it with a target URL:
npx playwright codegen https://example.com
The CLI supports output files and a test-ID attribute option, and can generate for languages including JavaScript, Playwright Test, and Python. Use the generated code as a draft: remove incidental clicks, make the assertions represent the requirement, and review whether each locator identifies the intended control robustly. A recording captures one interaction path; it cannot decide which alternate states, error cases, or accessibility expectations your test should cover.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Choose an interface for authoring and debugging
UI Mode for interactive test work
Run npx playwright test --ui to open UI Mode. It presents the test tree and lets you run a file, block, or individual test; filter by text, tag, project, or status; and watch for changes. Its locator picker can help identify elements while authoring. The timeline and action views expose snapshots, logs, and network activity around actions, which is useful when the failure depends on what the page looked like or what happened immediately before it.
Rank #2
Inspector for step-through debugging
Use npx playwright test --debug to launch the Inspector alongside the browser and step through a run. Narrow the target with a file and line when debugging a specific test:
npx playwright test tests/checkout.spec.ts:18 --debug
Headed execution is useful when you want to observe browser behavior directly; Inspector is the more deliberate choice when you need to pause and examine a sequence. In Visual Studio Code, the official Playwright extension can also run tests from the Testing sidebar.
Run the browser and device matrix with projects
A Playwright project is a named configuration group in playwright.config.ts. Projects let one suite run under different browser engines, branded browsers, device emulations, environments, or policies. Select the projects that reflect the support matrix you need to validate; they are not interchangeable installations of one generic browser.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},
],
});
With projects configured, run the entire matrix or select one entry:
npx playwright test
npx playwright test --project=firefox
Playwright’s documented examples include Chromium, Firefox, WebKit, Chrome, Edge, and emulated mobile or tablet devices. Projects can also vary matching patterns, timeouts, retries, setup dependencies, and environment-specific settings. Choose them deliberately:
- Browser coverage: use the engines or branded browsers that match the application’s stated support requirements.
- Device coverage: use emulation when the question is how the page behaves at a mobile or tablet viewport and device profile.
- Environment coverage: separate configurations when the test target or required settings differ by environment.
- Run cost: each additional project expands the work in a matrix run. Use targeted
--projectruns during investigation and the broader matrix where it provides needed coverage. - Setup dependencies: if a project relies on setup tests, account for that dependency in the workflow. UI Mode’s project filtering does not automatically account for setup tests in its filtering workflow.
- Retry and timeout policy: configure these to fit the suite and CI workflow rather than using retries to hide a test that is consistently failing.
Inspect the report and diagnose failures with traces
After a run, open the HTML report with:
npx playwright show-report
The report supports filtering and searching results and can show errors, steps, browser information, and links to traces when available. Use it to locate the failed test and identify the action or assertion where the run diverged.
A trace records a test’s execution for later inspection. Open a trace archive in Trace Viewer with:
npx playwright show-trace path/to/trace.zip
Trace Viewer lets you move through actions and inspect snapshots, source, console output, network activity, and action details. The browser-hosted Trace Viewer is documented as loading the trace entirely in the browser without transmitting it externally. That does not determine where your trace archive is stored or who has access to that file; apply your team’s normal controls to artifacts.
For CI, a common documented pattern is to record a trace on the first retry, with two retries in CI and none locally:
import { defineConfig } from '@playwright/test';
export default defineConfig({
retries: process.env.CI ? 2 : 0,
use: {
trace: 'on-first-retry',
},
});
This captures diagnostic material when a test needs a retry, without recording a trace on every ordinary run. UI Mode records traces during interactive work. Retries can reveal intermittent failures, but a test that passes only after a retry still deserves investigation; the retry is not evidence that the underlying cause has been fixed.
Rank #4
Use ScreenshotNeo when the task is a screenshot, not a test
Playwright is the right fit when you need browser automation, assertions, or repeatable test workflows. If the narrower job is to request a website screenshot or PDF without setting up a browser runner, ScreenshotNeo is a separate API and MCP server option. Its endpoint accepts one GET request with a URL and returns an image or PDF. It does not replace Playwright’s test runner or its assertions.
Or skip the browser setup
For a basic screenshot request, save this as a shell command and replace the example target as needed. Find API details and supported parameters in the ScreenshotNeo documentation.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents including Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots.
Sign up for 1,000 free screenshots a month, with no card required.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshoot common Playwright workflow problems
The run does not include the test you expected
Check that the file or directory you supplied is the one you intend to run and that the title filter matches the test title. If a project is specified, verify its name against the configured projects. To compare behavior with the full configured run, remove the narrowing argument and run npx playwright test.
A test fails only in a browser project
Run that project by itself with --project=<name>, then inspect the report or trace for the failing action. Check whether the failure reflects a genuine browser-specific behavior, a locator assumption, or a project-specific setting. Do not treat a passing Chromium run as coverage of Firefox or WebKit.
The failure is hard to reproduce locally
Use UI Mode to rerun and inspect actions interactively, or run the narrow test with --debug. For CI failures, configure trace capture on a retry and inspect the resulting trace archive. If parallel execution makes diagnosis difficult, retry the narrowed run with --workers=1; compare the result rather than assuming the single-worker outcome represents the normal suite.
A generated locator is brittle or the assertion is premature
Review the generated locator against the intended control and user-visible behavior. Prefer a locator that expresses what the test means over one tied to incidental page structure. Replace a fixed delay with a web-first assertion or an explicit wait condition where possible, so the test waits for the state it actually needs.
UI Mode behaves unexpectedly around setup tests
UI Mode project filtering does not automatically account for setup tests. If a test depends on project setup, ensure that setup is run as required by your workflow instead of assuming a filtered interactive run includes it.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Frequently asked questions
Can I use Playwright Test without opening a browser window?
Yes. The ordinary npx playwright test run is headless by default. Add --headed when you need to see the browser.
What is the difference between a report and a trace?
The HTML report organizes test results, errors, steps, and available trace links. A trace is an execution recording you open in Trace Viewer to inspect actions and surrounding page, console, and network details.
Does a generated test prove the feature works?
No. Codegen records an interaction and suggests code. Review its assertions and locators, and add the other behaviors your requirements call for.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

