Many QA teams choose Cypress.io for creating automated software tests because it executes tests directly inside the browser (which solves some of the most frustrating timing issues that are common with Selenium).
However, many teams end up looking for Cypress alternatives because it still has a few major downsides:
In this post, we’ll discuss these downsides in more detail and show how our tool—Rainforest QA—solves these issues. Then, we’ll provide four other tools for you to consider.
Table of Contents
Sign up for a free account to see how Rainforest QA can help you increase testing without adding headcount.
Rainforest QA is a codeless functional testing tool that uses a drag-and-drop editor to create tests that interact with the visual layer of your app the way a real user would.
Here are five reasons why Rainforest QA is the best Cypress alternative for many teams:
Cypress tests look for element locators in the underlying code of an application to perform actions and make assertions. However, modern front end website and application building tools usually generate complex code which can make it difficult to quickly identify where each element locator begins and ends. To solve this problem, many software development teams add custom attributes to each element to make them easier to find. This is fairly easy to do as you build a new feature, but adding custom attributes to existing features can be quite labor intensive.
Rainforest QA lets anyone write tests by testing the visual layer directly rather than the underlying code. To test the visual layer, Rainforest tests use pixel-matching to locate and interact with elements on the UI. You’ll never need to worry about locators or adding custom attributes.
To write (or edit) test steps in Rainforest QA, simply choose from a dropdown menu that lists possible actions, such as ‘click’, ‘fill’, or ‘verify’. Then, take a screenshot of the element you want to apply the action to by clicking with your mouse and dragging a box over the element.
Once you write a test, you can easily embed it in other tests to speed up test writing and maintenance. We call these “embedded tests.”
Embedded tests allow you to write a common sequence of test steps (e.g., for logging in or adding an item to a basket) and insert those steps into any test that needs it. Then, you can edit a test step in one place and it will automatically be updated in every other test it’s embedded in.
When you’re ready to run your Rainforest tests, you can manually kick them off within the Rainforest platform. Or, your dev team can start a run from within your CI/CD pipeline using our CircleCI Orb, GitHub Action, API, or CLI.
You’ll have the option to choose to run tests on current and older versions of any of the four major browsers: Safari, Microsoft Edge, Chrome, and Firefox.
Finally, because Rainforest QA lets anyone create and edit tests, you’ll be able to free up developers’ time so they can focus on building new features and keeping the software up to date.
Like most test automation tools, Cypress tests are limited to testing actions within a single browser tab. For many teams, this means critical functions of their software will go untested (or will have to be tested manually). For example, a few common regression test cases that require actions that leave the browser are:
With Rainforest’s proprietary automation, you can create tests that open new tabs and new windows, open and close browsers, and even interact with desktop apps.
If you want to see it in action, check out this video walkthrough of how to create a test that saves an online image file to the desktop using a keyboard shortcut, then uploads the file to Google Drive.
As mentioned above, Cypress tests search for element locators in the underlying code of a web app to execute test steps. If the element locator is present, the test will pass. However, if there’s even a slight change in how the locator was named (it’s missing a letter, for example), the test will fail—even if there’s no change to the UI.
There are also scenarios where a Cypress test would pass even though there is a bug visible in the UI. For example, the element locator could be present but a pop-up modal might be covering the corresponding UI element. Or, a bug in the CSS that defines the positioning of an element could cause it to render off-screen.
A Rainforest test will only fail if there’s a change to the UI. This means Rainforest tests are immune to minor changes in the underlying code that don’t affect the UI. And, Rainforest tests are much more reliable for catching bugs on the visual layer.
Sometimes you may want to make deliberate changes to your visual design without having to update your tests right away. For these situations, Rainforest has a text matching feature.
Text matching verifies the text content of the element rather than other visual aspects of the element. For example, both buttons below have the same text but their appearances are very different.
With text matching turned on, either button would result in a passing test in Rainforest. Without text matching, the test will pass only if the current version of the button matches the original screenshot.
Figuring out why a test failed is an ongoing task that can be very time-consuming without additional features or tools to assist you. With Cypress, you’ll have two main options that can make it easier to identify why a test failed:
Rainforest QA, on the other hand, automatically records every test run, whether it passes or fails, and saves the recording for future reference. Oftentimes, comparing a successful test run to a failed test run is the key to figuring out the cause of the failure.
Being able to see everything that happened leading up to the failure can also be very useful.
Video replays will show you exactly how the failure would’ve appeared to a real user so you can decide how important it is to fix the issue.
Rainforest QA also provides HTTP logs and browser logs, which can point to whether or not the test failure was due to hiccups in the test environment.
Finally, Rainforest QA comes with a Jira integration so any tester assisting with the testing process can automatically create a ticket to send to the development team for debugging. The ticket will automatically include the failed test steps, a screenshot of the failed test step, HTTP logs, and a link to the full test results and video recording in Rainforest.
This plan has everything you need for test automation, including parallel testing on virtual machines, test management features, Slack and Microsoft integrations, unlimited team members, and much more—without any hidden costs or signed contracts.
The Professional plan offers usage-based pricing. You’re charged for how much time you spend running tests, and that’s it. There’s no charge for the time spent previewing, writing, editing, or otherwise managing your test suite.
As part of this plan, you get 5 hours of free automated testing every month and it's only $5/hr after that. There’s no limit to the number of tests you can run or your number of users. You never pay for more than you need, and you can easily scale your testing up or down as needed.
By comparison, the free version of Cypress allows for multiple tests to be run at once, API integration, analytical reporting, and community support. But you only get access for 3 users and up to 500 test results per month.
If you want flake detection features, Jira integrations, the ability to cancel runs after a failure, direct support (meaning support other than online guides and community support), or more users and more tests, you’ll have to choose a monthly plan. The monthly plans are priced at $75/month or $300/month based on features, number of users, and how many test results you need. You can also contact the Cypress team for a custom plan.
Ready to see how Rainforest QA can help you ramp up testing without adding headcount? Sign up for a free account.
Katalon is built on Selenium and Appium and was designed to be used by both developers and non-developers for web testing and mobile app testing.
They offer a record-and-playback feature which lets non-developers create test scripts. Then, unlike some record-and-playback tools, Katalon lets developers stop and restart a recording at any point during test creation or execution to insert additional lines of code. This makes it much easier for developers to create complex test cases and fix broken tests.
Katalon has a free version of their software, but it’s only intended for individual use on simple platforms. The free version lets you run a test and know whether it failed or not, but you won’t have access to screenshots, recordings, cross-platform support, or suggested fix features.
Testim.io was built to be used with other tools such as TestRail, GitHub, Applitools, BrowserStack, and Sauce Labs. However, it doesn’t support iPhone, Android, or iPad platforms. Its paid plans only allow you to run between two and eight concurrent tests, and there’s an absolute limit to the number of tests you can run in a month.
You can configure WebdriverIO to run on the WebDriver Protocol (for cross-browser testing) or the Chrome DevTool Protocol (for automation using Puppeteer). WebdriverIO also supports native mobile application testing for both Android and iOS.
Finally, WebdriverIO offers many different third-party plugins so you can create a test automation framework that meets all your needs.
Protractor also supports behavior driven development with integrations to Mocha and Jasmine.
With Rainforest QA, anyone can write and maintain automated UI tests without learning a new programming language. And, our free-forever Essentials plan makes software test automation accessible for any team. You get up to 5 hours of free software testing every month and it's only $5/hr after that.
We provide practical guidance on how to start automation testing from scratch and how to choose a test automation tool.
10 automated front-end testing tools that can help you release new features faster with fewer bugs.
With these test automation maintenance tips, prevent automated test breakage and spend less time fixing broken tests.
In this post, you'll learn how to automate regression testing without having to know any code.