When companies evaluate test automation tools for web testing they are often facing a similar question: What's the advantage of using Rapise instead of Selenium WebDriver? Though the larger question is: Why should you pay for a commercial tool instead of using a free one? At first glance, both tools are facing the same challenges when automating a web application, but it is very important to understand further aspects when comparing both tools.
Why Use Rapise Instead of Selenium WebDriver?
To help you better understand the similarities and differences between Rapise and Selenium WebDriver (hereafter referred to as just Selenium), we have put together the following table that outlines some of the features that are common to both tools and some of the features that are unique to Rapise:
(underneath the table we explain each of these in more detail)
|Setup and Configuration|
|Easy installation for non-programmers||No||Yes|
|Robust object identification||Yes||Yes|
|Use of XPath expressions||Yes||Yes|
|Use of CSS expressions||Yes||Yes|
|Integrated web-spy tools||No||Yes|
|UI Object Tree Editor||UI objects have to be managed on code level||Yes|
|Automatic UI object synchronization||No||Yes|
|Self-healing tests that adapt automatically to changes||No||Yes|
|Support for Dynamic IDs|
|Customizable XPath generator with choice of methodologies out of the box (aria, ids, indexes, etc.)||No||Yes|
|Record & learning|
|Recording of test scripts||No||Yes|
|Actions table for editing recorded steps||No||Yes|
|Scriptless methodology for writing tests||No||Yes|
|Built-in programming language for script-based tests||No||Yes (JS)|
|Web profiles used to train Rapise for each application under test||No||Yes|
|Easy modularization and reusability||No click & go functionality, understanding of object-oriented programming required||Yes|
|Easy to Execute – Local & Remote|
|Easy execution of tests with local dashboard for executing tests||No||Yes|
|Web-based test management that allows easy execution on multiple machines / environments||No||Yes|
|Support & Assistance|
|Dedicated support team||No||Yes|
|Personalized email support||No||Yes|
|Personalized phone support||No||Yes|
Setup and Configuration
Testers typically are not familiar with setting up a development environment, but Selenium generally requires a good understanding about software development to configure both the Selenium IDE and the Selenium Server.
Conversely, Rapise is easy to install through a standard installation wizard that takes just a couple of minutes and provides everything you need within a single IDE allowing you to get started immediately.
Low Entry Barrier
As a tester you're always asked to deliver testing results and reports to management, regardless of whether they are generated from a manual or automated test run. Creating a powerful test automation framework based on reusability on keywords, data driven testing or test maintenance is nothing you can build up within a day with Selenium.
Rapise helps you generate rapid results quickly and easily by having visual tools for viewing objects in the application, a built-in recorder and playback engine that lets you use the application normally and have a complete test script at the end.
Rapise also provides support for recording and playing back manual test cases (stored in SpiraTest, our web-based test management tool) so you can use the same tool for both types of testing.
With Selenium, you need to use a programming language to write your test scripts. You can use different languages, but you need to provide your own IDE and compiler just to write the scripts. If you are not familiar with the language (e.g. Java or C#) then you need to learn the language, the IDE and the Selenium API just to write tests.
For example, a sample Selenium script written using C# in Visual Studio would look like:
In contrast, Rapise comes with the powerful but easy to use Rapise Visual Language (RVL) that makes editing test scripts straightforward and natural:
While Rapise supports the testing of Desktop, Web and Mobile Applications in a single application, Selenium is limited to just testing web applications only. In addition, some web applications include non HTML/HTML5 components like Java Applets or MS Silverlight controls, which Selenium may not be able to recognize.
Rapise supports all of these technologies, even when these technologies are mixed with standard HTML pages (for example an embedded Java applet or Silverlight control).
Having a robust object identification mechanism is essential to be successful with your test automation project. From a technical point of view, both tools use a similar approach to address UI elements on a web page. An XPath or Cascading Style Sheet (CSS) query is used by Selenium and Rapise to navigate through an HTML object tree. Within Selenium you can only use the XPath/CSS query at the code level with the result that you'd have to maintain your test scripts in case of changes on the UI level of your web application.
Rapise offers a dedicated Object Tree to arrange and organize all UI elements needed during automation.
Rapise comes with pre-build support for common UI elements such as menus, treeviews, tab controls and grids that would have to be manually coded in Selenium. When you are dealing with large applications such as Microsoft Dynamics 365, having native support for the UI elements makes testing much easier and reliable:
The Rapise Web Spy tool simplifies creating and editing XPath expressions using a dedicated path editor with pre-built templates for ARIA, ID or Index based queries. Although using XPath on a code level is possible with Rapise as well, the visual nature of using the Rapise Object Tree elements instead helps to keep your code clean and easy to read.
Rapise includes a self-healing mode, where the recorder will learn multiple locators for each web object on the page. Then if the application is modified, Rapise can calculate a probabilistic match based on how likely the change is to be an intended change, vs. a test failure. Its machine learning algorithms response to user feedback to improve its model, so that as you teach Rapise, it will get better at knowing intended vs. unintended changes.
Another growing challenge for Selenium users is to address UI elements (like input tags) exposed dynamic identifiers, making them difficult to identify and not allowing for good repeatability of recognizing objects. The reason for that is many web developers make use of web development kits instead of developing everything from scratch.
Rapise faces that challenge by offering different rule sets for all well-known web UI frameworks like GWT, YUI, jQuery, etc. These rules automatically recognize the use of 3rd party frameworks when working with the Rapise Recorder or Web Spy tool. These solutions build robust XPath expressions that are reliable and repeatable.
What's the main reason for letting testers all around the globe think negatively about record & playback? Test Maintenance is the primary reason. No one is interested in adapting scripts or code every time the application under test changes. This is the case when working with tools like Selenium Recorder generating scripts only.
The Rapise recorder instead generates a table of actions combined with the Rapise Object Tree. The object identification is always separated from the automated test steps. The recorded actions can easily be modified or extended without writing any line of code. In addition, the Rapise recorder automatically reuses elements from the Object Tree which have already been created during a previous recording session.
Rapise has a unique concept called the Web Application Profile. It is a simple JSON file of a defined structure that instructs Rapise how to build XPath for elements in a particular application. This lets Rapise understand each application and create reliable tests the first time.
The web profile can be manually created, or Rapise can generate/update it based on what it learns from your application.
Reusability of Test Objects
When you want to design a test automation framework with Selenium you have to implement the same methodologies as developers are constructing on code level. You need strong knowledge of object-oriented programming principles.
Conversely, the Rapise IDE provides Learn and Go Functionality™ from the very beginning to ensure reusability of test actions and UI elements with a team of different technical skill-levels. Entry level automation engineers can record a simple scenario by clicking objects, whereas more skilled engineers can Learn objects on the page and then drag and drop the objects after the fact to compose the test script.
Easy to Execute – Local & Remote
With Selenium it is not as easy as with Rapise to execute tests, because you have to code the tests using a specific technology (e.g. Java, .NET, Ruby, Python) and then integrate that into your execution environment. Users would need to be familiar with the development language, the platform and your local environment to run any tests.
With Selenium, the reporting is just local, you would need to implement your own scheduling, execution and reporting mechanism so that your QA Manager knows what’s going on.
With Rapise it is easy to playback tests locally, just click the ‘Play’ button from within Rapise. However most users will choose to connect Rapise to our SpiraTest test management platform, which takes care of all your scheduling and versioning needs in one go.
With SpiraTest and Rapise, you can schedule tests to run on different machines anywhere in the world from the comfort of your web browser. All of the results will be automatically upload back to SpiraTest where your QA Manager can see them in real-time as they get executed.
Support and Assistance
Finally, one last reason – we’re here to help you on your test automation journey:
- Every test automation project has its individual challenges. Selenium itself does not cost anything to download. Most people do not account for the technical limitations and maintenance costs when implementing this in a production environment. When you run into issues you are at the mercy of the public forums and any local knowledge.
- With every purchase of Rapise comes the Inflectra support promise, we provide unlimited phone and email support with Rapise as well as access to our help desk, moderated forums and knowledge base.