Comprehensive client-side Tableau dashboard validation suite with 85+ automated tests, reconciliation, and configuration management.
Tableau Test Suite is a lightweight, zero-dependency bookmarklet that runs 85+ automated tests on any Tableau dashboard. It validates visual design, data quality, performance, accessibility, security, and provides reconciliation against spreadsheet data.
- 85+ Automated Tests across 8 categories
- Zero Installation - Works as a browser bookmarklet
- Reconciliation Engine - Compare dashboard values against CSV/XLSX files
- Configuration Management - Upload and manage test rules
- Exportable Reports - JSON format for documentation and compliance
- Parameter-Dimension Validation - Verify parameter domain connections
- No External Dependencies - Runs entirely client-side
- Multi-Browser Support - Chrome, Firefox, Safari, Edge
- Open
auto-installer.htmlin your browser - Right-click the "π Right-click to Bookmark" button
- Select "Bookmark This Link" or "Add to Favorites"
- Name it "Tableau Test Suite" and save to your bookmarks bar
- Navigate to any Tableau dashboard
- Click your new bookmark to launch the test suite
- Run Tests - Click "βΆ Run Tests" to execute all validations
- View Results - Browse results by category (Summary, Visual, Data, Functional, Technical)
- Upload Config - Go to Config tab to upload reconciliation rules (CSV/XLSX)
- Export Report - Click "β€ Export" to download JSON report
- Font consistency
- Color palette analysis
- Margin alignment
- Tooltip usage
- Typography hierarchy
- Spelling check
- Null value handling
- Error detection
- Filter configuration
- Parameter controls
- Duplicate filter detection
- Data refresh indicators
- KPI element detection
- Parameter-Dimension Connection (NEW)
- Component dashboard detection
- Container HTML presence
- Test flag identification
- Version consistency
- Test label detection
- Export functionality
- Print capabilities
- Custom view save
- Feedback tools
- Interactive elements
- Form validation
- Navigation menu
- Dropdown controls
- Link integrity
- Page load time (<5s)
- DOM ready time
- Image loading
- External script count
- Stylesheet count
- Console error detection
- Environment detection
- Tableau API availability
- Image alt text coverage
- Button labels
- Keyboard navigation
- ARIA landmarks
- Heading structure
- Color contrast ratios (WCAG 4.5:1)
- Sensitive data exposure
- HTTPS usage
- External link analysis
- Iframe sandboxing
name,worksheet,dimension,dimensionValue,measure,expectedValue,tolerance
Revenue Check,Revenue Data,Region,North America,Total Revenue,1500000,50000
Customer Count,Customer Summary,Status,Active,Customer Count,5000,100Same columns as CSV, first sheet is used.
| Field | Description | Example |
|---|---|---|
| name | Rule identifier | "Revenue Check" |
| worksheet | Tableau worksheet name | "Revenue Data" |
| dimension | Optional dimension to filter by | "Region" |
| dimensionValue | Value to match in dimension | "North America" |
| measure | Measure name to validate | "Total Revenue" |
| expectedValue | Expected value from source | "1500000" |
| tolerance | Acceptable variance | "50000" |
Automatically verifies that parameters with dimension-based domains are properly connected to their source dimensions. This test:
- Detects all parameters in the workbook
- Identifies parameters with dimension-based domains
- Verifies dimension field presence in worksheets
- Reports connection status for each parameter
{
"metadata": {
"timestamp": "2025-11-01T10:30:00.000Z",
"url": "https://tableau.example.com/dashboard",
"userAgent": "Mozilla/5.0...",
"executionTime": 2547
},
"summary": {
"total": 87,
"passed": 64,
"failed": 3,
"warnings": 15,
"info": 5,
"successRate": 78
},
"results": [...],
"reconciliation": {...},
"parameterTests": {...},
"recommendations": [...]
}- bookmarklet_v0.1_alpha.js - Complete bookmarklet code (minified)
- auto-installer.html - One-click installation interface
- config-template.csv - Example reconciliation configuration
- README.md - This file
| Browser | Support | Notes |
|---|---|---|
| Chrome | β Full | Recommended |
| Firefox | β Full | Recommended |
| Safari | β Full | Recommended |
| Edge | β Full | Recommended |
| IE 11 | β Not supported | Use modern browser |
- Tests run on visible DOM elements only
- Some Tableau API features require Embedding API v3
- Reconciliation requires Tableau API access
- XLSX support requires dynamic SheetJS loading
- Results are stored in browser localStorage (5-10MB limit)
The bookmarklet uses browser localStorage for configuration and results:
tts:config- General configurationtts:reconcile:config- Reconciliation rulestts:reconcile:data- Reconciliation resultstts:custom:rules- Custom test rules (future)tts:report:*- Test reports
- β Runs entirely client-side
- β No data sent to external servers
- β No credentials stored
- β Uses browser's Content Security Policy
- β HTTPS recommended for production
- Execution time: ~2-3 seconds for full test suite
- Memory usage: ~5-10MB
- No impact on dashboard performance
- Tests run asynchronously
- Custom rule builder UI
- Batch dashboard testing
- Scheduled test runs
- Slack/email notifications
- Historical trend analysis
- Server-side report storage
- Team collaboration features
- Advanced reconciliation logic
- Custom test plugins
- API for CI/CD integration
This repository is read-only. For feature requests or bug reports, please contact the maintainer.
Proprietary - All rights reserved
For issues or questions, please refer to the GitHub repository issues page.
Version: 0.1 Alpha
Last Updated: November 2025
Maintainer: @linearpeanut