Natural Language Tests
Write tests the way you'd explain them to a teammate. No code, no selectors, no XPath. If you can describe it, you can test it.
Describe what to test in plain English. TestWithWords drives a real browser with AI โ clicking, typing, verifying โ and gives you screenshot evidence.
npm i -g testwithwords
Write a .tww file on the left. Get test results on the right.
# cart.test.tww describe "Shopping Cart" test "can add item to cart" Navigate to the shop homepage Search for "mechanical keyboard" Click on the first product Click "Add to Cart" Verify the cart shows 1 item
$ tww run cart.test.tww ๐งช TestWithWords v0.1.0 Chromium (standalone) ยท gpt-4o-mini PASS cart.test.tww Shopping Cart โ can add item to cart (8.4s) Tests: 1 passed, 0 failed Time: 8.4s ๐ Report: results/report.html
Stop fighting with selectors and scripts. Start testing in plain English.
Write tests the way you'd explain them to a teammate. No code, no selectors, no XPath. If you can describe it, you can test it.
An AI agent reads the page, decides what to click, type, or verify โ and adapts when the UI changes. No brittle scripts that break on every redesign.
Every test step produces a screenshot. See exactly what happened, when it happened, and share results in a beautiful HTML report.
Works out of the box with GitHub Models โ free for open source contributors. No API keys to buy.
Three steps. Under two minutes. You're testing.
Describe your test in a .tww file using plain English. Structure with describe and test blocks โ just like Jest.
Execute with tww run. The AI agent launches a browser, reads the page, and performs every step you described.
Get a Jest-style pass/fail summary in the terminal, plus an HTML report with screenshots of every step.
Three commands and you're running AI-powered tests.
# Install globally $ npm i -g testwithwords # Authenticate with GitHub Models (free!) $ tww auth # Run your first test $ tww run "Go to example.com and verify the heading says Example Domain"
Everything you need to get started and go deep.
Full walkthrough from install to your first passing test.
Every command and flag, with examples for each.
How to write test files โ describe, test, hooks, reusable flows.
.twwrc.json settings reference for advanced setups.
Real error messages and real fixes.
TestWithWords is open source and community-driven. Come hang out, contribute, or just say hi!