Complete End-to-End Testing

Experienced with Selenium or Cypress? Explore our features that go beyond the recorder. Test complex edge cases in your web app and hook into your CI pipeline.

Codeless first, JavaScript when needed

Our recorder and codeless editor lower the hurdle so all team members can contribute to quality assurance. However, JavaScript can be used for more complex situations. Execute your own JavaScript code in the context of the browser, just as you would in your browser’s development console.
  • Support for synchronous and asynchronous JavaScript steps
  • Inject entire libraries (such as jQuery) onto the page and use them
  • Conditionals for branching tests down different path
Start free trial

Complex scenarios supported out of the box

If you’ve ever used a browser automation framework to program a complicated scenario, then you know how painful it can be to get everything just right. Is the element visible yet? Is the file upload in the right place? Did the keypresses happen too quickly for the field’s validation logic? You don’t have to worry about these annoyances with Ghost Inspector. Smart logic and documentation for:


PDF rendering

File uploads

Date pickers

Credit card checkouts

2FA logins & more

Modularize test steps for easy reuse

Many of your tests will reuse certain blocks of steps, such as a login sequence. There’s no need to recreate these each time.
  • Create steps once and import them anywhere they’re needed
  • Apply a change in one spot and it’s reflected everywhere
  • Multiple levels of importing for organizing dependencies

Run tests across different environments and with different data sets

Different Environments

Reuse tests across different environments by customizing URLs and inputs using variables. Pass in custom parameters on the fly or store different parameters sets with your account.

Data-Driven testing

Run tests with lots of different inputs. Want to test your sign up form with 100 different sets of data? It’s as easy as uploading a CSV file to your account and configuring your tests to use it.

Test emails sent by your application

Does your application send “Sign up” or “Forgot Password” emails? Wouldn’t it be nice to test those? You can do it with Ghost Inspector’s built-in email service.
  • We receive your emails and make them available during your tests
  • Performs steps to trigger the email then navigate to our email service and open it
  • Click links in the email, check attachments and confirm it’s visually correct

Store tests with code in version control

Ghost Inspector’s hosted nature makes it easier for all team members to contribute, but you may prefer to store tests in version control with your code.
  • Store tests in version control using our simple JSON file format
  • Maintain different versions of your tests in branches
  • Run a test by sending the JSON file to our on-demand testing API

Continuous integration and notification services

Continuous integration & API

Run tests when code is committed to GitHub, or inside of CI tools like Jenkins and CircleCI. We have an array of official plugins and an API for extra flexibility.

Notifications & Alerts

Email detailed reports to your team, trigger webhooks, send results to Slack, or create a PagerDuty incident when a test fails.

Looking for more?

Jump back to our codeless features to cover the basics or dive into more detail with our documentation.
Codeless test automation features