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.

Features

  • 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 with qwen2.5-vl:3b and qwen2.5:1.5b (or --mode mock for dry-run verification)

Installation

git clone https://github.com/yanzyuyu/testuiux.git
cd testuiux
pip install -r requirements.txt
playwright install chromium

Usage

1. Test Run on Bundled Demo Fixture

Execute a verification run against demo/buggy_site.html:

python -m bughunter.cli demo/buggy_site.html --mode mock --format json

2. Live Scan with Local AI Models (Ollama)

Ensure local Ollama models are running:

ollama run qwen2.5-vl:3b
ollama run qwen2.5:1.5b

Run audit against development or staging server:

python -m bughunter.cli http://localhost:3000 --mode api --format json --notify

3. Generate All Artifacts (JSON + HTML Report)

python -m bughunter.cli http://localhost:3000 --mode api --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.0

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.0
File Size Uploaded
testuiux-0.1.0.tar.gz 19.1 kB Details

Built distribution (wheel)

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

Total release size: 39.5 kB

Release files / testuiux-0.1.0.tar.gz

Download URL testuiux-0.1.0.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
82b7b1373e1d69873d86475f4b0b40049e40179cef29fad437790082533a81df
BLAKE2b-256 checksum
How to use checksums
203173364c790c203a03c0241de02b714fadaedfa430a10a93a849d13e9fc76e
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.0-py3-none-any.whl

Download URL testuiux-0.1.0-py3-none-any.whl
Size 20.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe554b951c05bd382e173e0e71eb326abf24c0fe5f9f08dcd4b8f3a53e92c9ac
BLAKE2b-256 checksum
How to use checksums
e036a958433076e1389d8b927db18e7372ddc75efd44e1f46de79fa2cd7c1739
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

0.1.1

2 release files

This release

0.1.0 This release

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