Skip to main content

Blog

QA testing insights, AI agent tips, and skill development guides

All Articles

Page 3 of 27

Guide
2026-07-13

Jest “Cannot Log After Tests Are Done” Fix

Fix Jest Cannot Log After Tests Are Done by tracing unawaited callbacks, owning timers and subscriptions, and proving teardown completes before exit.

Guide
2026-07-13

Jest “Did Not Exit One Second After the Test Run” Fix

Fix Jest did not exit one second after the test run by tracing open servers, sockets, timers, workers, and database pools to their missing cleanup.

Guide
2026-07-13

Jest “Invalid Hook Call” in React Tests Fix

Fix Jest invalid hook call errors by finding duplicate React instances, correcting resetModules usage, and isolating mocks without splitting the renderer.

Guide
2026-07-13

Jest ESM Default Export Mock Fix

Fix Jest ESM default export mocks by returning the right module shape, handling hoisting correctly, and using native ESM mocking when the runtime requires it.

Tutorial
2026-07-13

Jest Snapshot Property Matchers for Dynamic Values

Use Jest snapshot property matchers to validate dynamic IDs, timestamps, and generated fields while preserving meaningful structural regression coverage.

Guide
2026-07-13

Jest Worker Encountered Four Child-Process Exceptions Fix

Diagnose Jest worker child-process exceptions by exposing the first crash, separating resource exhaustion from test bugs, and tuning concurrency safely.

Comparison
2026-07-13

Langfuse vs Arize Phoenix: Open-Source LLM Observability (2026)

Langfuse vs Arize Phoenix for 2026: tracing model, evals, local-first vs self-host, OTel and OpenInference, datasets, RAG debugging, dashboards, and Python SDK examples compared.

AI Testing
2026-07-13

LLM Testing Interview Questions for QA Engineers

Prepare for LLM testing interviews with senior-level questions on nondeterminism, evaluation sets, safety, tool use, retrieval, and release decisions.

Guide
2026-07-13

Mask Secrets in CI Test Logs

Mask secrets in CI test logs with early registration, application redaction, adversarial failure tests, and controls for encoded or transformed credentials.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Comparison
2026-07-13

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.

Tutorial
2026-07-13

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.

Reference
2026-07-13

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.

Tutorial
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

Reference
2026-07-13

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.

Reference
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

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.

Comparison
2026-07-13

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.

Guide
2026-07-13

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.

Comparison
2026-07-13

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.

Tutorial
2026-07-13

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.

Comparison
2026-07-13

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.

Guide
2026-07-13

Playwright Service Worker Network Mocking Gotchas

Diagnose Playwright service worker network mocking failures, separate page traffic from worker traffic, and choose reliable interception strategies.

Guide
2026-07-13

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.

Reference
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

Tutorial
2026-07-13

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.

Tutorial
2026-07-13

PostgreSQL Test Isolation with Transaction Rollbacks

Implement PostgreSQL test isolation with transaction rollbacks, dedicated connections, savepoints, and checks for sequences, workers, and parallel suites.

AI Testing
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

Guide
2026-07-13

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.

QA Testing Blog Articles — Page 3 | QASkills.sh