mcpField
S
smartui-skill

smartui-skill

github.com/lambdatestTesting & quality384231 installsUpdated 2w ago
Repository

About smartui-skill

A skill guide for visual regression testing with LambdaTest SmartUI. It covers Playwright and Selenium workflows, CLI execution, screenshot baselines, and review of differences.

Key features

  1. 01Playwright and Selenium patterns
  2. 02CLI setup and execution
  3. 03Browser and viewport configuration
  4. 04Baseline comparison and approvals
  5. 05Storybook snapshot workflow

Use cases

  1. 01Compare screenshots across test runs
  2. 02Check responsive layouts at multiple viewports
  3. 03Review visual changes in the SmartUI dashboard

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/lambdatest/agent-skills --skill smartui-skill

After installing, type/smartui-skillin Claude Code to confirm it loaded.

Bundled filesreference/playbook.md

Details

From the project README

SmartUI Visual Regression Skill

Core Patterns

Playwright + SmartUI SDK
const { chromium } = require('playwright');
const { smartuiSnapshot } = require('@lambdatest/smartui-cli');

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();

  await page.goto('https://example.com');
  await smartuiSnapshot(page, 'Homepage');

  await page.goto('https://example.com/login');
  await smartuiSnapshot(page, 'Login Page');

  await browser.close();
})();
Selenium + SmartUI
// Take SmartUI screenshot
((JavascriptExecutor) driver).executeScript(
    "smartui.takeScreenshot=Login Page"
);
CLI Execution
# Install
npm install @lambdatest/smartui-cli@latest --save-dev

# Configure
npx smartui config:create smartui.config.json

# Execute
npx smartui exec -- node test.js
# or with Playwright
npx smartui exec -- npx playwright test
smartui.config.json
{
  "web": {
    "browsers": ["chrome", "firefox", "safari"],
    "viewports": [[1920, 1080], [1366, 768], [375, 812]]
  },
  "waitForPageRender": 5000,
  "waitForTimeout": 1000
}
SmartUI with Storybook
npx smartui storybook http://localhost:6006 --config smartui.config.json
Approval Workflow
  1. First run creates baseline screenshots
  2. Subsequent runs compare against baseline
  3. Differences highlighted in dashboard
  4. Approve/reject changes in LambdaTest SmartUI dashboard
  5. Approved screenshots become new baseline
Anti-Patterns
BadGoodWhy
No viewport configMultiple viewportsResponsive issues
No wait for renderwaitForPageRenderIncomplete screenshots
Screenshot everythingKey pages/componentsNoise reduction
No approval processReview diffs in dashboardCatch regressions
Cloud Authentication

Set environment variables:

export PROJECT_TOKEN="your-smartui-project-token"   # From SmartUI dashboard
export LT_USERNAME="your-username"                   # For Selenium/Playwright cloud
export LT_ACCESS_KEY="your-access-key"               # For Selenium/Playwright cloud

CLI approach (uses PROJECT_TOKEN):

npx smartui exec -- npx playwright test

Selenium Cloud approach (uses LT_USERNAME/LT_ACCESS_KEY):

// Capabilities include SmartUI options
HashMap<String, Object> ltOptions = new HashMap<>();
ltOptions.put("user", System.getenv("LT_USERNAME"));
ltOptions.put("accessKey", System.getenv("LT_ACCESS_KEY"));
ltOptions.put("build", "SmartUI Build");
ltOptions.put("smartUI.project", "My SmartUI Project");
ChromeOptions options = new ChromeOptions();
options.setCapability("LT:Options", ltOptions);
WebDriver driver = new RemoteWebDriver(
    new URL("https://hub.lambdatest.com/wd/hub"), options);

Quick Reference

TaskCommand
Installnpm install @lambdatest/smartui-cli@latest
Init confignpx smartui config:create smartui.config.json
Runnpx smartui exec -- <test command>
Storybooknpx smartui storybook <url>
Dashboardhttps://smartui.lambdatest.com

Deep Patterns

For advanced patterns, debugging guides, CI/CD integration, and best practices, see reference/playbook.md.

Comments

Markdown supported