Skip to main content

testuiux

Autonomous visual UI/UX defect detector and responsive layout verification engine powered by Playwright and Qwen2.5-VL. Captures multi-viewport screenshots, recognizes layout bugs, generates structured report.json, and triggers a lightweight triage model (SLM) to produce an executive briefing directly consumable by primary coding agents.

PyPI version License

Features

  • Zero Manual Setup: Fully autonomous model lifecycle. Automatically detects local Ollama instances, boots the daemon in the background if closed, and pulls models on-demand.
  • Multi-Viewport Automated Capture: Uses Playwright to render mobile (375x812), tablet (768x1024), and desktop (1440x900) viewports.
  • Vision-Language QA Inspection: Evaluates screenshots with Qwen2.5-VL to spot element collisions, text overlap, truncation, unconstrained horizontal overflows, broken assets, and unreadable color contrast.
  • Visual Defect Highlighting: Uses Pillow to render color-coded bounding boxes and severity badges.
  • Structured JSON Reporting: Automatically exports report.json with coordinate boundaries, severity ratings, and CSS remedies.
  • Dual-Model Autonomous Triage: Feeds raw audit data into a compact language model (qwen2.5:1.5b) to synthesize an executive briefing (agent_briefing.txt) for primary AI coding assistants.
  • Antigravity Skill Native: Registered as a persistent skill (testuiux) invoked automatically whenever frontend UI changes are implemented.

Requirements

  • Python 3.10+
  • Playwright Chromium (playwright install chromium)
  • Ollama (optional, auto-detected if installed)

Installation

Install directly from PyPI:

pip install testuiux
playwright install chromium

Usage

1. Autonomous Run (Zero Configuration)

Point testuiux to any URL or local HTML file. The tool automatically detects runtime environment and produces JSON audit data with agent briefings:

testuiux http://localhost:3000

Or on local HTML files:

testuiux demo/buggy_site.html

2. Export All Formats (JSON + Side-by-Side HTML Report)

testuiux http://localhost:3000 --format all --output-dir ./audit_results

Generated Artifacts

audit_results/
├── report.json             # Structured machine-readable defects data
├── agent_briefing.txt      # Executive briefing for primary AI agent
├── report.html             # Standalone side-by-side comparison report
├── screenshot_mobile.png   # Clean capture
└── annotated_mobile.png    # Highlighted defects capture

Defect Categories

Issue Type Description
ELEMENT_COLLISION Fixed footers, modals, or floating buttons occluding interactive UI
HORIZONTAL_OVERFLOW Containers exceeding screen boundaries causing horizontal scroll
TEXT_OVERLAP Colliding labels or texts rendering over other visual components
TEXT_TRUNCATION Prematurely clipped strings lacking proper CSS ellipsis rules
BROKEN_ASSET Failed image requests and unrendered placeholder graphics
CONTRAST_LOW Text violating accessibility contrast standards against background

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Metadata

Release files for testuiux 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for testuiux 0.1.1
File Size Uploaded
testuiux-0.1.1.tar.gz 19.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for testuiux 0.1.1
File Interpreter ABI Platform
testuiux-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 41.5 kB

Release files / testuiux-0.1.1.tar.gz

Download URL testuiux-0.1.1.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9dfdec2f927d429fb875842b18ced964809b9d29057e38deea82c12b987b2b0b
BLAKE2b-256 checksum
How to use checksums
e2fba947d45f89a454d9d5dbab4a1342f741ef70ee1e6085800a3cfa868ca818
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / testuiux-0.1.1-py3-none-any.whl

Download URL testuiux-0.1.1-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4503c24bca570d6f63d0edd757530367a2756dc0167a41a435ab5759f5a643c1
BLAKE2b-256 checksum
How to use checksums
9c036274cedd2764dc92f92702efc8e19885076ca74e1b68787006c2418db789
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page