Blog
QA testing insights, AI agent tips, and skill development guides
All Articles
Page 11 of 36
Match Exception Messages with pytest.raises() Regex
Use pytest.raises() regex matching precisely, escape dynamic text safely, avoid brittle patterns, and verify exception types and messages together.
Match Partial Call Arguments with Jest
Match partial call arguments with Jest objectContaining and toHaveBeenCalledWith while keeping mock assertions precise, readable, and resilient to extra fields.
Merge Playwright Blob Reports Across Operating Systems
Merge Playwright blob reports from Windows, Linux, and macOS into one reliable HTML report with stable paths, tags, artifacts, and diagnostics.
Merge Playwright Blob Reports in GitLab CI
Merge Playwright blob reports in GitLab CI from parallel shards into one HTML artifact, while preserving failed-job artifacts, traces, and exit status.
Merge Playwright Reports with GitHub Actions artifact v4
Merge Playwright reports with GitHub Actions artifact v4 by collecting unique shard blobs, preserving failures, and publishing one usable HTML report.
Mock a Server-Sent Events Stream in Playwright
Mock a Server-Sent Events stream in Playwright with a controllable HTTP fixture, then verify incremental rendering, reconnection, IDs, and malformed events.
Mock an Async Context Manager in pytest
Mock an async context manager in pytest with AsyncMock, configure __aenter__ and __aexit__, verify cleanup, and avoid coroutine protocol errors.
Mock Date and Timezone Consistently in Vitest
Mock Date and timezone consistently in Vitest with fixed instants, fake-timer cleanup, UTC process configuration, and explicit DST boundary tests.
Mock fetch() and AbortController in Jest
Mock fetch() and AbortController in Jest to test cancellation, AbortError handling, signal wiring, cleanup, and late-response races without real HTTP calls.
Mock GraphQL Requests by Operation Name in Playwright
Mock GraphQL requests by operation name in Playwright with typed fixtures, precise routing, variable checks, passthrough, and failure diagnostics.
Mock import.meta.env Values in Vitest
Mock import.meta.env values in Vitest with reliable cleanup, import-time isolation, and typed Vite flags so environment-dependent tests stay deterministic.
MSW vs Nock for Node.js API Tests
Compare MSW and Nock for Node.js API tests through real handlers, interception models, request assertions, isolation, unmatched traffic, and migration tradeoffs.
Open a New Authenticated Tab in the Same Playwright Context
Open authenticated Playwright tabs in one browser context, test popup flows without login duplication, and avoid storage-state and event-ordering mistakes.
OpenAPI Nullable vs Optional Contract Tests
Write OpenAPI nullable vs optional contract tests that distinguish missing, null, and populated properties across OpenAPI 3.0, 3.1, validators, and clients.
Parametrize pytest Tests with Dataclass Test Cases
Parametrize pytest tests with typed dataclass cases that keep inputs, expected results, IDs, and marks readable as larger scenario matrices grow.
Patronus AI for LLM Evaluation: A Practical 2026 Guide
Learn how to use Patronus AI to evaluate LLM, RAG, and agent outputs in 2026: Lynx hallucination detection, judges, the Python SDK, PII and safety checks, and CI.
Playwright “Element Is Not Attached to the DOM” Fix
Fix Playwright element is not attached to the DOM failures by replacing stale handles, synchronizing rerenders, and asserting the user-visible state.
Playwright “forbidOnly” CI Error Fix
Fix the Playwright forbidOnly CI error by locating focused tests, checking generated suites, and adding reliable local and CI prevention controls.
Playwright “Strict Mode Violation” Locator Fix
Fix Playwright strict mode violation errors by diagnosing duplicate matches, narrowing locators safely, and preventing ambiguous clicks from returning.
Playwright “Target Page, Context or Browser Has Been Closed” Fix
Fix Playwright Target Page, Context or Browser Has Been Closed errors by tracing ownership, missing awaits, teardown races, crashes, and popup lifetimes.
Playwright “Test Timeout Exceeded” in afterEach Hook Fix
Fix Playwright Test Timeout Exceeded errors in afterEach by separating teardown budgets, removing blocked waits, and preserving failure evidence.
Playwright 1.60 New Features: A 2026 Reference Guide
A complete reference to Playwright 1.60 new features in 2026: locator.drop(), tracing.startHar(), page.screencast, browser.bind(), the trace CLI, system theme, and UI search.
Playwright Debugging Interview Questions and Answers
Practice Playwright debugging interview questions on traces, locators, auto-waiting, timeouts, retries, fixtures, network races, and CI-only failures.
Playwright drop() API: Testing Drag and Drop the Modern Way
Test drag and drop in Playwright with the new locator.drop() API, dragTo(), and manual mouse control. Covers kanban boards, sortable lists, file drops, and flakiness fixes.
Playwright Fixture Dependency Order with a Practical Example
Master Playwright fixture dependency order with a realistic database and browser example, predictable teardown, worker scope, and failure-safe cleanup.
Playwright HAR Update Mode: Minimal vs Full
Compare Playwright HAR update mode minimal vs full, understand exactly what each records, and choose stable, reviewable network fixtures for reliable tests.
Playwright Learning Path for API Testers
Follow a Playwright learning path for API testers that turns HTTP testing skills into reliable browser automation, hybrid setup flows, and CI-ready coverage.
Playwright locator.or() vs filter() for Fallback Elements
Compare Playwright locator.or() vs filter() for fallback elements, avoid strictness traps, and choose deterministic locators for alternate UI states.
Playwright Nested iframe Locator Recipe
Use Playwright nested iframe locators to cross multiple frame boundaries reliably, assert the right document, and diagnose dynamic embed failures.
Playwright route.fallback() vs route.continue()
Compare Playwright route.fallback() vs route.continue(), understand newest-first handler ordering, and build layered network interception without surprises.
Playwright Service Worker Network Mocking Gotchas
Diagnose Playwright service worker network mocking failures, separate page traffic from worker traffic, and choose reliable interception strategies.
Playwright startHar() and Network Tracing: The Complete HAR Guide
Record, replay, and mock network traffic in Playwright with tracing.startHar(), routeFromHAR, and recordHar. Build deterministic tests, update HAR files, and debug in CI.
Playwright test.step() Box and Timeout Example
Use Playwright test.step() box and timeout options to produce readable traces, precise failures, and bounded setup or workflow steps in TypeScript tests.
Playwright Trace Viewer and npx CLI Guide (2026 Edition)
Master the Playwright Trace Viewer in 2026: enable traces, open trace.zip with npx playwright show-trace, use the new trace shell, and debug flaky CI failures fast.
Playwright UI Mode “Port Already in Use” Fix
Fix Playwright UI Mode port already in use errors by finding the listener, choosing a safe port, and preventing stale test processes from returning.
Playwright Worker-Scoped Database Fixture per Worker
Build a Playwright worker-scoped database fixture that isolates parallel tests, cleans up reliably, and stays predictable across retries and shards.
PostgreSQL Test Isolation with Transaction Rollbacks
Implement PostgreSQL test isolation with transaction rollbacks, dedicated connections, savepoints, and checks for sequences, workers, and parallel suites.
Promptfoo Custom JavaScript Assertion Example
Build a Promptfoo custom JavaScript assertion that parses support-agent JSON, scores domain rules deterministically, and returns useful failure reasons.
pytest “Fixture Not Found” conftest.py Fix
Fix pytest fixture not found errors by tracing conftest.py visibility, root directory selection, naming, plugins, imports, and collection with repeatable checks.
pytest “Import File Mismatch” Error Fix
Fix pytest import file mismatch errors by locating duplicate module names, clearing stale bytecode, and choosing a package layout or import mode that stays stable.
pytest Autouse Fixture Ordering Gotchas
Master pytest autouse fixture ordering through explicit dependency graphs, scope rules, teardown behavior, and diagnostics that prevent hidden setup races.
pytest capsys vs capfd for Subprocess Output
Choose pytest capsys vs capfd for subprocess output with accurate capture boundaries, runnable examples, binary variants, and debugging guidance for mixed I/O.
pytest Fixture Interview Questions and Answers
Master pytest fixture interview questions with precise answers on scopes, dependency order, yield teardown, parametrization, factories, and isolation.
pytest Indirect Parametrize Fixture Example
Learn pytest indirect parametrize with realistic fixture setup, selective indirection, readable IDs, teardown safety, and collection-time diagnostics.
pytest-asyncio “Event Loop Is Closed” Fix
Fix pytest-asyncio Event Loop Is Closed errors by aligning async fixture scope, loop scope, client lifetime, teardown order, and modern plugin configuration.
Python Skills Required for SDET Automation Roles
Build the Python skills required for SDET automation roles, from pytest and typing to API, UI, data, concurrency, CI, and maintainable test design.
QA Engineer to AI Testing Engineer Roadmap
Follow a practical QA engineer to AI testing engineer roadmap through Python, model evals, RAG measurement, agent traces, and portfolio evidence.
Quarantine Flaky Tests with a GitHub Actions Label
Quarantine flaky tests with a GitHub Actions pull-request label while keeping mandatory coverage, visible failures, expiry metadata, and auditable CI gates.
RAG Evaluation Interview Questions and Answers
Prepare for RAG evaluation interview questions with senior-level answers on retrieval, grounding, citations, metrics, datasets, debugging, and release gates.
Recording Video of Playwright Tests: A Complete 2026 Tutorial
Learn how to record video of Playwright tests with page.screencast and the video config option, add annotations, control file size, and upload artifacts in CI.