Testim Documentation

Welcome to the Testim documentation. You'll find comprehensive guides to help you get started quickly, example code snippets, and tips for being more productive. You will also find details about advanced features that allow you to customize Testim to fit your environment or special testing conditions. Don't worry, we'll support you if you get stuck. Let's jump right in!

Guides    Changelog

Testim overview

Testim is the fastest way to resilient end-to-end tests, your way—in code, codeless, or both.

At Testim, we too are developers and testers, striving to release quality software faster. We built Testim because writing stable end-to-end tests was just too hard. We were the first to build an AI-based functional test automation solution. Since we launched in 2014, we've been adding features, improving quality, and proving our solution with customers every day. To read more about our product features, pricing, or even some of our latest blogs, check out Testim.io.


Testim solves the two biggest bottlenecks in end-to-end testing—slow authoring and unstable tests.

The following will provide some of the high-level functions so that you have a better idea of how tests are created, edited, run, and reported. That's just the tip of the iceberg, but starting here will provide the framework so you can learn quickly and move to more advanced use cases further down in the documentation.



See what's new with Testim. We publish a running list of new features on the Testim changelog.

Author tests—your way

There are two ways to create tests in Testim—record them using the Testim Extension or code them in your IDE. Actually, there's a third and recommended approach for those who want to code—record the test, export it as code and modify it in your IDE.

Record a test - Generally, the fastest way to write a test is to record it. This is fairly easy to do, using the Testim Extension. You simply start a recording within the Testim visual editor, record steps in your application by clicking, selecting menu options, typing in text, etc. The result is a step-by-step test that can be edited within the visual editor. The great part about recording a test is that it uses Testim's algorithm to uniquely identify each element and its parameters. Our AI uses what we call, Smart Locators to evaluate hundreds of attributes and score them so that if elements change, your tests don’t break.

Code your first test with the Testim Dev Kit - As mentioned above, the fastest way to code a test is to first record a user flow and then export that test to code. You can also start by writing a test directly in code calling on the Testim JavaScript API to create user actions like "click", "scroll", or "drag and drop". You can run your test locally from your IDE and debug it in real-time.

Customize tests

Testim has many features built into the visual test editor to help you customize your tests. You can also export your test as code and customize it your IDE, the choice is yours.

Visual test editor

We've built a lot of features right into the editor so there's no need to write code if you don't want to. Here are a few examples (Hint: There are waaaay more, just search for what you need):

  • Groups - You can group steps and reuse them. You can nest groups within groups. Grouping helps you architect tests so that you aren't repeatedly creating the same steps. You can also create more efficient test architecture by reusing proven steps.
  • Validations - Ensure the output of a test matches the expected output. You can configure validations for data, PDFs, email, Word docs, and much more.
  • Conditions - Configure a step or group of steps to run (or skip) if certain conditions are met (or absent).
  • Smart Locators - These make your tests stable. However, you may want to adjust the settings so that they are more or less strict, or even prioritize different attributes. We give you the information to see how Smart Locators are weighting attributes and the ability to override.
  • Loops - Run the same step multiple times until you get the expected output.
  • Data-driven testing - Integrate test data to push input or boundary conditions. Link a CSV, Excel, or JSON file to reference your data.
  • Custom validation and actions - Okay, for this one you do need to write some code. But it does give you the flexibility to execute in the browser on any step.

Edit code in your IDE

Since you can write tests in your IDE, of course, you can edit them there as well. Add loops, waits, IFs, fors, or whatever coding magic you want, because it's code. See the full Dev Kit API

Execute your tests

Run and troubleshoot your tests locally. When you are ready, you can schedule, trigger by CI or run on demand. Tests can be parallelized and across all browsers on our test cloud or any Selenium-compatible test cloud.

Test grid - Also known as a test cloud, test grids allow you to test multiple virtual (and sometimes physical) devices and configurations in parallel. It can greatly speed up test execution.

Cross-browser - You will want to make sure that your application runs the same way in Safari as it does in Edge. Cross-browser support lets you simulate different desktop and mobile web browsers in parallel.

CI integrations - We easily integrate with Continuous Integration tools so that your tests can run automatically at desired process points.

Report results

Regardless of how your tests were created (code or codeless) when they run, you will see the results in Testim so you can troubleshoot and capture bugs. You'll also want to show your team all of the great work you've been doing and that releases are ready to ship.

Root cause analysis - We aggregate error types so that you can quickly identify problems that are affecting multiple tests. You'll have tools including screenshots, console logs, and HTML DOM info at your fingertips.

Test results - Measure team and test suite performance. See how tests are trending over time.

Bug capture - Bug reporting is really easy with our capture tool. Capture screenshots, video, add a description of the error and then pop it into a bug tracker—in less than 60 seconds.

Why Testim?

Fast authoring, better stability

  • Fast Authoring - you can record tests instead of writing code, letting you write hundreds of tests quickly. You can edit them in our visual editor or export to code and edit in your IDE.
  • Smart Locators - Rather than manually selecting one attribute of an element, Testim analyzes hundreds of attributes, weighs them and generates stable Smart Locators.
  • Informed by data - We collect tons of information to inform our AI. Our advanced recorder captures the Smart Locators, screenshots, network requests, and console logs in real-time.
  • Learned stability - We’ve run millions of tests and have built-in factors to help improve the stability of every test such as automatic waits and retries to reduce test maintenance
  • Root Cause Analysis - Testim makes it easier to debug your tests, you will always get screenshots, DOMs, console logs and other debugging information. Even when your tests run in your CI server.

Openness—we fit you

  • Built for Developers - Testim is written by developers for developers. We strive to create a developer-friendly experience free from annoyances. We will always make sure your error messages point to the right place.
  • Export to code - We are the only vendor that enables you to create codeless or coded tests and run them on the same platform. This gives you greater flexibility to spread work across your team. You can also take your tests with you if you decide to leave Testim. Read more about the Dev Kit.
  • Modern JavaScript - Testim uses Modern JavaScript and async/await for authoring tests. Code is bundled with webpack and TypeScript is optionally included.
  • Run on any test grid - Testim is the only codeless test automation vendor that allows you to run your tests on our cross-browser test grid or any Selenium-compatible test cloud.
  • Your code in your VCS - Manage your tests as code in your version control system. Fork, commit and issue pull requests for your coded tests in sync with your app.
  • Customize EVERYTHING - From parameterized variables and modifications of Smart Locators to custom JavaScript code insertion, every step can be tailored to your app.

Testim code is written by people working on some of the biggest open-source projects in the world and is trusted by companies like Microsoft, Wix, JPMorgan, Salesforce, and others for their automation platforms.

Updated 4 days ago

Testim overview

Testim is the fastest way to resilient end-to-end tests, your way—in code, codeless, or both.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.