Blog
QA testing insights, AI agent tips, and skill development guides
All Articles
Page 13 of 37
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.
Refresh an Expired Playwright storageState Token
Refresh an expired Playwright storageState token safely before tests, preserve browser context isolation, and prevent parallel authentication failures.
Report Flaky Tests with GitLab CI JUnit Reports
Report flaky tests with GitLab CI JUnit artifacts, retry-aware test output, stable case identities, failure evidence, and actionable pipeline history.
Rerun Only Failed Tests in GitHub Actions
Rerun only failed tests in GitHub Actions by persisting framework state as artifacts, targeting retries safely, and preserving the original failure evidence.
Restore Environment Variables with pytest monkeypatch
Restore environment variables with pytest monkeypatch using scoped setenv and delenv changes, import-safe tests, teardown guarantees, and subprocess checks.
Retry a Block of Assertions with Playwright toPass()
Use Playwright toPass() to retry multi-step eventual assertions safely, tune intervals and timeouts, and diagnose state that never becomes internally consistent.
Retry Only Runner-System Failures in GitLab CI
Configure GitLab CI to retry only runner-system failures, keep genuine test defects red, audit failure reasons, and avoid flaky green pipelines.
Reuse Playwright Authentication State for Multiple User Roles
Reuse Playwright authentication state for admin and standard-user roles with isolated accounts, setup projects, safe fixtures, and reliable authorization checks.
Rhesis AI: An Open-Source LLM Testing Guide for 2026
A practical 2026 guide to Rhesis AI, the open-source LLM application testing framework: generate test sets, run metrics, red-team for robustness, and gate CI.
Run Authenticated API Tests with Schemathesis
Run authenticated Schemathesis API tests with static headers, dynamic token providers, refresh intervals, scope-aware caching, and safe diagnostics.
Run Contract Tests Before Deployment in CI
Learn where to run contract tests before deployment in CI, publish verification evidence, and block incompatible consumer or provider releases safely.
Run E2E Tests Against Ephemeral Preview Environments
Run E2E tests against ephemeral preview environments with reliable URL handoff, readiness checks, isolated data, failure evidence, and cleanup.
Run Playwright Shards with GitLab CI parallel:matrix
Run Playwright shards with GitLab CI parallel:matrix across browser projects, map shard indexes safely, preserve failed blobs, and merge one report.
Run PostgreSQL Init Scripts and Migrations with Testcontainers
Run PostgreSQL init scripts and migrations with Testcontainers for deterministic schemas, version-accurate integration tests, and clean isolation.
Run Tests Affected by Changed Files in CI
Run tests affected by changed files in CI using dependency graphs, safe fallbacks, and auditable selection rules that shorten feedback without hiding regressions.
Set Extra HTTP Headers for One Playwright Test
Set Playwright extra HTTP headers for one isolated test without leaking tenant, feature, or correlation values into neighboring browser scenarios.
Set Golden-Set Difference Thresholds for Prompt Regression
Set golden-set difference thresholds for prompt regression using labeled change severity, slice budgets, deterministic checks, and reviewable release gates.
Set Per-File Coverage Thresholds in Vitest
Set per-file coverage thresholds in Vitest, add glob-specific exceptions, enforce CI gates, and diagnose line, branch, function, and statement failures.
Set pytest Fixture Scope from a Command-Line Option
Set pytest fixture scope from a command-line option to switch resource lifetime safely between isolated local tests and faster shared CI sessions.
Setting RAG Answer-Relevance Test Thresholds
Set RAG answer-relevance test thresholds by calibrating metric scores to human judgments, query slices, evaluator variance, and explicit release costs.
Shard Playwright Tests by Duration in GitHub Actions
Shard Playwright tests by historical duration in GitHub Actions using a deterministic bin-packing script, dynamic matrices, and timing feedback controls.
Split Playwright Tests by Timing in CircleCI
Split Playwright tests by historical timing in CircleCI, publish usable JUnit data, control nested concurrency, and diagnose skewed parallel containers.
Spy on a Class Constructor Method in Vitest
Spy on class instance methods in Vitest before construction, verify per-instance calls, restore prototypes safely, and avoid constructor mocking traps.
Spy on a Getter Property with Jest
Spy on a getter property with Jest using accessType, preserve or replace computed behavior, verify reads precisely, and restore descriptors without test leakage.