Create end-to-end tests that understand your app

Carbonate lets you create auto-healing browser tests with no coding.

Try it for yourself by running a simulated test:
Simulated browser
*This is a smaller model for demonstration purposes, for the best results try the real thing.

How it works

Record, review, run.

Record your tests by using your application in our remotely controlled browser.

Carbonate generates a set of user-stories and runnable test scripts.

Run your tests using our cloud test runner or download for use within your own CI.

Writing tests is cumbersome

Carbonate lets you create tests simply by using your application

Whether you're a seasoned developer or completely non-technical, testing your application can be slow and painful.

With Carbonate, you can simply use your application and we'll convert your actions into a user story that you can inspect, verify and run.

Our intelligent AI recorder lets you create tests in seconds, without having to write any code.

Your application

My todo list

|
Detected: Type "Testing" into the todo field
Detected: Click on the add task button
Detected: Click on the clear task icon

End-to-end tests are fragile

Carbonate doesn't just run your tests, it understands them.

Testing based on HTML structure is fragile and has high maintenance costs.

By recording tests as user stories, you can focus on the intention of the test rather than the implementation.

Carbonate understands your user stories; working out changes to your application just like a real user would.

Loading...
|Click on "Get Started" in the menu
  1. Click
  2. //a[contains(text(), "Get Started")]
  3. //nav[contains(@class, "menu")]

Broken tests are difficult to debug

Carbonate lets you debug your tests in real-time.

Console
Network
GET /login
00:57:36.789Z

Carbonate provides an interactive test playback complete with console and network requests, so you can see exactly what failed... and why.

If you still can't debug your tests, you can run a live test and get full access to devtools.

No more guessing what went wrong.

Your tests, your way

Your tests are a valuable part of your application. We generate tests for PHP, Python and JavaScript so that you can run your tests on your own CI/CD platform*.

test("Select two from the dropdown", async () => {
    await sdk.load('https://carbonate.dev/demo-form.html');

    await sdk.action('select Two from the dropdown')

    expect(
        await sdk.assertion('the dropdown should be set to Two')
    ).toBe(true);
});

*Coming soon

Frequently asked questions

Do I need coding knowledge to use this product?

Not at all! We've designed Carbonate to be as easy to use as possible, so you can get up and running in minutes.

Will this slow down our test suite?

Carbonate only uses AI to generate your tests. The subsequently generated tests will run as fast as traditional, hand-written, tests.

How do I debug no-code tests?

All test runs are recorded along with their network, and console logs. If that's not enough, you can run the test live in our recorder and debug the test interactively so you know exactly what's going on.

What if my page is dynamically rendered?

No problem, as long as your HTML has some semantic meaning, Carbonate can work out the difference between a change in UI and simple rendering differences.

How do I record a test on my local machine?

We're working on making this easier, but for now, you can use ngrok's developer preview feature to record your test on your local machine.

Does it work with shadow DOM?

Yes, we've built-in full support for shadow DOM and many other browser features that are troublesome to test.

Test your code.
Not your patience