npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2026 – Pkg Stats / Ryan Hefner

waytest-ui

v1.1.3

Published

🎬 Record browser interactions and generate tests automatically - UI Recorder with smart code generation

Readme

Way.test - UI Recorder & Testing Framework

🎬 Record browser interactions and generate tests automatically

npm version License: MIT

✨ What is Way.test?

Way.test is a UI Recorder that lets you create browser tests by simply interacting with your web application. No more writing selectors manually - just click, type, and interact naturally while the recorder generates production-ready test code.

🎯 Key Features

  • 🎬 UI Recorder - Record real browser interactions automatically
  • ⚑ Instant Test Generation - Get clean, readable test code immediately
  • 🎨 Professional UI - Minimal, non-intrusive recording toolbar
  • 🧠 Smart Code Generation - Optimized selectors and consolidated actions
  • πŸ”„ Real-time Preview - See generated code as you interact

πŸš€ Quick Start

1. Install

npm install --save-dev waytest-ui

That's it! Browser automation is included automatically.

2. Start Recording

# Record interactions on any website
npx waytest record https://your-app.com

# Record on localhost during development  
npx waytest record http://localhost:3000

3. Interact Naturally

A minimal toolbar appears in your browser:

● πŸ‘οΈ T πŸ• ZZZ {} [0]
  • ● Recording indicator
  • πŸ‘οΈ Assert element visibility
  • T Assert text content
  • πŸ• Wait for elements
  • ZZZ Add delays
  • {} View generated code
  • [0] Action counter

4. Generate Test Code

Click the {} button to see your generated test:

const { way } = require('waytest-ui');

way.test('Login flow', async () => {
  // 🌐 Navigate to login page
  await way.browser.goto('https://your-app.com/login');

  // πŸ‘† Click username field
  await way.browser.click('#username');

  // πŸ“ Type username
  await way.browser.type('#username', '[email protected]');

  // πŸ‘† Click password field  
  await way.browser.click('#password');

  // πŸ“ Type password
  await way.browser.type('#password', 'password123');

  // πŸ‘† Click login button
  await way.browser.click('#login-button');

  // βœ… Assert welcome message
  const welcomeText = await way.browser.getText('.welcome');
  way.check(welcomeText).includes('Welcome');
});

5. Run Your Tests

# Run with visible browser (for debugging)
npx waytest --browser login.test.js

# Run in headless mode (for CI/CD)
npx waytest --browser --headless login.test.js

πŸ’‘ Perfect For

  • E-commerce flows - Shopping cart, checkout, payments
  • Authentication - Login, signup, password reset
  • Form testing - Contact forms, surveys, validation
  • User journeys - Multi-step workflows
  • Regression testing - Ensure features keep working

🎯 Why Choose Way.test?

βœ… vs Manual Test Writing

  • 10x Faster - No more writing selectors manually
  • Zero Errors - Perfect selectors every time
  • Real User Flows - Tests exactly what users do

βœ… vs Other Recorders

  • Cleaner Code - Optimized, readable test generation
  • Professional UI - Minimal, non-intrusive interface
  • Smart Features - Action consolidation and selector optimization

βœ… Perfect for Teams

  • No Learning Curve - Anyone can record tests
  • Consistent Quality - Same high-quality tests every time
  • Fast Onboarding - New team members productive immediately

πŸ“š Documentation

For complete documentation, examples, and advanced features, visit: πŸ“– Full Documentation

🀝 Contributing

Way.test is open source and welcomes contributions!

πŸ“„ License

MIT License - see LICENSE file for details.


🎬 Start recording your first test in under 30 seconds:

npm install --save-dev waytest-ui
npx waytest record https://your-app.com

Way.test - The fastest way to create reliable browser tests.