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.2

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.2
File Size Uploaded
testuiux-0.1.2.tar.gz 19.6 kB Details

Built distribution (wheel)

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

Total release size: 41.1 kB

Release files / testuiux-0.1.2.tar.gz

Download URL testuiux-0.1.2.tar.gz
Size 19.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b82a617ba1013c9cdfb50e6753eda0d56a77063fa9e6ef3a3b44ebfc837cb4e4
BLAKE2b-256 checksum
How to use checksums
abba1a4cb82d55be1d0c9989191f3b7dfb1c9fb3c0b84a9788200a996e78e5f1
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.2-py3-none-any.whl

Download URL testuiux-0.1.2-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e2341b046ff1ca005bd121faf9581b06424010afab9105daad507b8a7855b16
BLAKE2b-256 checksum
How to use checksums
2a245ba2572d8c55fc15d9c56eaf5e79bafc54a7e5bec9d991fad8fb71621a90
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

This release

0.1.2 This release

2 release files

0.1.1

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