browser-testing

Intellifill's avatarfrom Intellifill

Browser automation for testing IntelliFill. Replaces puppeteer MCP to save ~4.8k tokens.

⭐1stars🔀0forks📁View on GitHub🕐Updated Dec 20, 2025⬇️1downloads

When & Why to Use This Skill

This Claude skill provides high-efficiency browser automation specifically optimized for UI testing and quality assurance. By replacing standard Puppeteer MCP servers, it saves approximately 4.8k tokens through on-demand lazy-loading. It enables developers to automate form filling, capture screenshots for documentation, debug visual UI issues in real-time, and manage complex file upload/download workflows within a Chrome environment.

Use Cases

  • Automated Form Testing: Streamline the validation of complex web forms by automating data entry and submission sequences to ensure data integrity.
  • Visual UI Debugging: Connect to a running Chrome instance to visually inspect elements, capture screenshots, and resolve layout regressions or front-end bugs.
  • Document Workflow Automation: Automate end-to-end file upload and processing flows, specifically designed for testing document-heavy applications like IntelliFill.
  • Token-Efficient Web Interaction: Perform browser-based tasks without the heavy context overhead of traditional MCP servers, optimizing LLM performance and response speed.
namebrowser-testing
descriptionBrowser automation for testing IntelliFill. Replaces puppeteer MCP to save ~4.8k tokens.

Browser Testing

This skill covers browser automation for IntelliFill testing. It lazy-loads on demand instead of consuming context upfront like MCP servers.

When I Need This

  • Testing form filling in Chrome
  • Capturing screenshots for docs
  • Debugging UI issues visually
  • Automating upload/download flows

Quick Setup

Start Chrome with remote debugging first:

start chrome --remote-debugging-port=9222 --user-data-dir="N:/IntelliFill/quikadmin/chrome-debug-profile"

Core Patterns

Connect to Running Chrome

const browser = await puppeteer.connect({ browserURL: 'http://localhost:9222' });
const page = await browser.newPage();
await page.goto('http://localhost:8080/login');
await page.type('[name="email"]', 'test@example.com');
await page.type('[name="password"]', 'password123');
await page.click('[type="submit"]');
await page.waitForNavigation();

Screenshot

await page.screenshot({ path: 'output.png', fullPage: true });

File Upload (IntelliFill document flow)

const [chooser] = await Promise.all([
  page.waitForFileChooser(),
  page.click('#upload-button')
]);
await chooser.accept(['./test-files/sample.pdf']);
await page.waitForSelector('.upload-complete');

IntelliFill URLs

Page URL
Login http://localhost:8080/login
Dashboard http://localhost:8080/dashboard
Documents http://localhost:8080/documents
Upload http://localhost:8080/documents/upload

Prefer Cypress/Playwright

For proper E2E tests, use the e2e-testing skill instead - it has full test infrastructure. This skill is for quick manual browser automation when you need direct Puppeteer control.