Stably Logo
Backed by Y Combinator
AI-powered
End-to-end Tests

Stably AI automatically tests your website / web app without any engineering effort. Minimum-flake guaranteed.

Trusted By Fast-growing Companies
monterey logowonderchat logoopenint logoproven logoopenlayer logoyhangry logoPropel Auth LogoLifeat Logoopenmart logoinspectmind logoTackle LogoLovecast LogoCashflow Portal Logomonterey logowonderchat logoopenint logoproven logoopenlayer logoyhangry logoPropel Auth LogoLifeat Logoopenmart logoinspectmind logoTackle LogoLovecast LogoCashflow Portal Logomonterey logowonderchat logoopenint logoproven logoopenlayer logoyhangry logoPropel Auth LogoLifeat Logoopenmart logoinspectmind logoTackle LogoLovecast LogoCashflow Portal Logomonterey logowonderchat logoopenint logoproven logoopenlayer logoyhangry logoPropel Auth LogoLifeat Logoopenmart logoinspectmind logoTackle LogoLovecast LogoCashflow Portal Logo

Powerful no-code editor

Create tests in plain English with AI as your copilot - record actions or code directly, and easily refine them to match your needs.

Test steps
1
Create a new account
2
Verify all dashboard charts display correctly

Playwright 2.0

AI-powered actions and assertions that extend beyond Playwright's limits, while being significantly faster to write

Stably Logo

Stably Test

Find all tasks that were created more than 30 days ago and have a status of either "blocked" or "on-hold".

Delete these tasks one by one until the list is empty, verify the page displays an image that shows relaxation.

Playwright Logo

Playwright Test

// Complex regex to match task dates and statuses
const dateRegex = /(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
  s+d{1,2}(?:st|nd|rd|th)?
  s+(?:202[0-4])/i;

const statusRegex = /^
  (?=.*(?:blocked|on-hold))
  (?!.*(?:in-progress|done))
  .*$/i;

while (true) {
  // Find all task elements using complex compound selector
  const tasks = await page.$$(
    'div[data-testid^="task-item-"]:visible' +
    ':has(> div[class*="task-content"])'
  );
  if (tasks.length === 0) break;

  for (const task of tasks) {
    const dateText = await task.$eval(
      'div[class*="metadata"]' +
      ' >> span:has-text("Created")' +
      ' >> span.date-field:not(:empty)',
      el => el.textContent
    );
    const statusText = await task.$eval(
      'div[class*="status"]' +
      ' >> span.status-badge:not(.hidden)' +
      ':has-text(/blocked|on-hold/i)',
      el => el.textContent
    );
    
    const taskDate = new Date(
      dateText.match(dateRegex)[0]
    );
    
    // Check if task is older than 30 days and matches status
    const isOldTask = 
      Date.now() - taskDate.getTime() > 
      30 * 24 * 60 * 60 * 1000;
    
    if (isOldTask && statusRegex.test(statusText.trim())) {
      // Open task menu and click delete using role and aria attributes
      await task.click(
        'button[aria-label="Task actions"]:visible' +
        ' >> .task-menu-trigger'
      );
      await page.click(
        'role=menuitem[name="Delete task"]' +
        ' >> [data-testid="delete-task-btn"]'
      );
      
      // Handle confirmation dialog
      await page.click(
        'button:has-text("Confirm Delete")'
      );
      await page.waitForResponse(response => 
        response.url().includes('/api/tasks/delete')
      );
      
      // Break after deleting one item to let the list refresh
      break;
    }
  }
}

Run tests however you want

Run tests manually or automatically in your CI/CD pipeline on every PR. Deploy with confidence using notifications via Slack, GitHub, Linear, or email.

All checks have failed
1 failing check
3 of 5 tests passed in 15s
Test SuiteDuration
Login test
2s
Checkout flow
5s
Search functionality
3s
Profile page load
1s
API health check
4s

Auto-maintenance

Our tests sync with your codebase, and Stably AI automatically keeps the tests up to date even when your app changes.

PR Merge Tests #agcnpth
5 passed
Auto-synced with PR #123
Search through the company directory
Original Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Sign In" button

Navigate to dashboard

Modified Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Continue with Email" button

Complete 2FA verification

Navigate to dashboard

Login with email
2 AI changes
Original Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Sign In" button

Navigate to dashboard

Modified Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Continue with Email" button

Complete 2FA verification

Navigate to dashboard

Update user profile settings
Original Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Sign In" button

Navigate to dashboard

Modified Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Continue with Email" button

Complete 2FA verification

Navigate to dashboard

Generate monthly report
Original Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Sign In" button

Navigate to dashboard

Modified Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Continue with Email" button

Complete 2FA verification

Navigate to dashboard

Export data to CSV
Original Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Sign In" button

Navigate to dashboard

Modified Test

Go to https://openart.ai/login

Navigate tohttps://openart.ai/login

Enter email: [email protected]

Enter password: ********

Click "Continue with Email" button

Complete 2FA verification

Navigate to dashboard

What our customers say about us...
Our AI tests all kinds of websites / web apps
🔒
Log in / Sign up
Our AI tests all kinds of websites / web apps
🔒
Log in / Sign up
Visa icon - qa testing for credit card formmastercard icon - qa testing for credit card formamex icon - qa testing for credit card form
Payment
Forms / Tables / Editors
ProductSalesRating
Quantum Laptop12344.8
AI Assistant56784.9
Holo Projector34564.7
Neural Implant78904.6
Teleporter Pod23454.5
Stably AI tests file upload
File upload

John Doe

Ski LoverNew Member
Successfully verified!
Advanced assertions
AI app
Whether you have an AI agent or an AI-powered recommendation engine, we can test it.
ai app testing
landing page ping
Landing page
This includes your marketing site, blog, and other static pages.
saas web testing
Marketplace
Got a marketplace with multiple user roles and complicated transaction flow? We can test it.
saas qa testing
SaaS / Devtool
Our AI is amazing at testing admin consoles and SaaS workflows.
e-commerce qa testing
E-commerce
Let us test your shopping cart, checkout, and payment flow.
FAQ
Stop using your customers as the QA
And set up Stably today. Get your first test up and running in under 5 minutes.
Stably Logo
All systems operational.
Copyright ©2025 stably.ai