testsigma
Topics
left-mobile-bg

Robot framework vs Cypress – What are the Differences?

February 12, 2024Priyanka
right-mobile-bg
Robot framework vs Cypress - What are the Differences
image

Start automating your tests 5X Faster in Simple English with Testsigma

Try for free

Organizations are shifting towards automation to increase the delivery speed and reduce the cost. Test automation can improve the speed and efficiency by automating the test cases. As the importance of automation is increasing day by day, new tools are emerging in the market. The legacy automation tools are adopting new features to support modern test automation. Two of the test automation tools – Robot Framework and Cypress are trending in the QA industry. Choosing the best automation framework is not an easy task. In this article, we compared the Robot framework vs Cypress which can help to decide the best fit.

What is Cypress?

cypress

Cypress is an open-source, NodeJS-based test automation framework. Cypress was initially released in 2017 to address the challenges in the current automation framework. Cypress is continuously evolving; today it supports end-to-end testing, functional testing, API testing, and Integration testing. Frequent releases and quick responses on various forums made Cypress quickly become popular in the industry.

Why Cypress?

Cypress is a modern test automation framework that supports both Behavior Development (BDD) and Test Driven Development (TDD) approaches. It supports JavaScript programming language. 

Cypress’s internal architecture is different from other testing frameworks. Cypress doesn’t depend on any other framework in the background; developers have developed Cypress from scratch. Unlike Selenium, there is no middleware like browser-specific drivers (ChromeDriver, GheckoDriver, etc.), it executes the commands directly on the browser without any middleware. Since the application under test and the automation test runs in the same browser, Cypress has access to the internals of the application under test. This modern architecture of Cypress makes it unique.

Pros of Cypress

Cypress has many modern features that make Cypress unique and popular within a short period. Below are some major pros of Cypress.

  • Cypress is an open-source framework
  • It has in-built reporting and also supports third-party reporter integration
  • It can support Chrome, Chromium, Edge, and Firefox browsers without any additional installation
  • It can be easily integrated with the CI/CD pipeline
  • Cypress provides both GUI and CLI-based test runners to execute the tests
  • It supports functional testing, API testing, integration testing
  • Cypress framework can be extended to support visual regression testing and accessibility testing.
  • It is platform-independent and supports Windows, Linux, and MacOS operating systems

Cons of Cypress

Though Cypress has a lot of advantages, it lacks some key features that are primarily required for test automation. Below are some major cons of Cypress.

  • Cypress doesn’t support parallel browser testing, which means you cannot run tests at different browsers at a given point in time.
  • Cypress lacks support for iFrame
  • It doesn’t support multiple windows, if your application opens multiple tabs then it may be difficult to achieve with the Cypress
  • Cross-origin domain restriction is one of the major challenges faced by many testers. It restricts the cross-origin domain at the test level.
  • Cypress doesn’t support the Safari browser automation
  • It doesn’t support Xpath by default, you need to integrate the Cypress Xpath plugin to use the Xpaths
  • There are two different variants in Cypress. Open source and commercial. The open-source version lacks the reporting feature, and you need to pay for the commercial version to get all the features.
  • Cypress doesn’t support native mobile applications and as per their documentation, they will never support the native mobile application.

What is Robot Framework?

Robot framework

Robot framework is a generic open-source automation framework. It can be used for automation testing and Robotic Process Automation (RPA). It recommends the Python language, however, it can be extended to Java or any other programming language. It uses the Selenium libraries for functional testing and other open-source RPA libraries for process automation. 

Why Robot Framework?

Robot framework is more flexible as it is written in Python, it can be easily extended to Java, .Net, and other programming languages. It combines the power of both functional testing libraries and RPA libraries which makes this framework unique in the market. Using the automation tool you can generate the high-level keywords from the existing ones with the same syntax. Robot framework comes with rich reporting that reduces the third-party tool integration for reporting. However, It doesn’t provide the video recording of the test execution, in most of the cases, you may not require video recording.

Pros of Robot Framework

Robot framework was initially launched in 2008, since then it has gone through multiple releases by adding new features. Though many years have passed, the Robot framework is still a favorite and preferable option for many large-scale organizations. Let’s understand what made them choose the framework.

  • It uses the keyword-driven approach, which increases the readability of the code and is easy to write. Furthermore, people with less programming knowledge find it more useful.
  • Easy to learn robot framework, one doesn’t need to understand how robot framework works in the background. If you are aware of high-level keywords you can start using the robot framework.
  • Robot framework is a complete ecosystem of automation, while Selenium enables function test automation and RPA technologies enable the process automation
  • Robot framework has a history of decades, hence a lot of major companies are using them effectively. Because of this, you can expect good community support.
  • It can handle many edge-case scenarios due to its extensibility. There are many plugins built by community contributors, made available free.
  • It supports all major browsers such as Chrome, Edge, Safari, and Firefox. Since it uses Selenium in the background all the selenium features will be inherited.
  • The robot framework can be integrated with the Appium framework to support mobile applications.

Cons of Robot Framework

Robot framework lacks many features, which you may be looking for. Since it is a keyword-driven framework, extending them might not be easier. Compared to Cypress, Robot framework documentation may not be as friendly. Below are some of the major limitations of the robot framework:

  • It has a dependency on Python, it is primarily developed in Python. If you want to extend this framework beyond the existing functionality then you need Python knowledge.
  • Compared to Cypress, the Robot framework lacks certain reporting features. It doesn’t provide the video of the test execution.
  • It doesn’t allow nested loops in the test scripts.
  • Though it has documentation, It doesn’t provide deep-level documentation for extending the framework.
  • It has support for only limited IDE’s

Cypress vs Robot Framework – Which companies use?

Cypress and Robot frameworks are used by many companies. Robot framework is used by major companies such as ABB, Cisco, ING, Nokia, CGI, and Relex and the list has grown to at least 20 more large-scale organizations. Many other small-scale organizations are using this however not listed anywhere. Cypress is used mostly by small and mid-scale organizations such as Atlassian, Siemens, Dell,  BlackRock, etc.

Cypress vs Robot Framework – What tools to integrate?

The extensibility and customization depend on the support for integration, both Cypress and Robot frameworks have good support integration with third-party tools. Cypress can be integrated with CI/CD tools such as Jenkins, Azure DevOps, and Bamboo, defect tracking tools like Jira. It can also integrate with cloud-based testing tools such as Sauce Labs, BrowserStack, and Lambdatest. It can be extended to visual comparison tools like Visual Regression Tracker(VRT) and AXE for supporting accessibility testing. 

Robot framework can be integrated with Gitlab, Jenkins, AzureDevOps, GitHub Actions, and Teamcity. It can also be integrated into defect-tracking systems like Jira. For detailed reporting, it can be integrated with the report portal. Furthermore, Browserstack and Saucelabs support the Robot framework for cloud-based testing.

Robot Framework vs Cypress – Table Comparison

In the previous section, we have gone through the limitations and advantages of both the framework. Cypress and Robot framework both aim to provide the solution for automation of manual test cases and making the testing process faster and smoother; Robot framework vs Cypress side-by-side comparison will help choose the right fit.

CypressRobot Framework
Programming languagesJavascript/TypescriptPython. (Extendable to Java, C#, etc.)
CategoryFunctional Testing, End to End testing, Integration Testing, API TestingAcceptance Testing
LicenseMIT licenseApache 2.0
Test Grouping supportYesYes
MocksYes built-inYes (Requires Python mock library integration)
Robotic Process Automation SupportNoYes
Fixture SupportYesNo (Can be achieved with plugin)
Cross-browser testing supportYes (Except Safari)Yes
GeneratorsNoYes (Robot framework faker library)
Native mobile application supportNoNot inbuilt (Supports Appium integration)

Alternatives tool to Robot framework and Cypress

Alternatives tool to Robot framework and Cypress

Robot framework and Cypress help in automating our test cases. As we discussed above Cypress is more developer friendly and requires more technical knowledge. Robot framework is more tester-friendly and requires less technical knowledge. However, the complexity of setting up these cannot be eliminated. This may still require technical knowledge. When you look for an alternative that will combine most of the features of Cypress and Robot framework without any complexity, Testsigma becomes the first choice. 

Testsigma is an AI-driven no-code automation tool that helps to fulfill all your testing needs such as functional testing, API testing, visual testing, and data-driven testing. All these tests can be done by manual testers or people who have no prior coding knowledge as it is a no-code testing tool. Furthermore, Testsigma provides a rich and customizable reporting feature built-in, no additional configuration is required. Reports and other test artifacts can be accessed from anywhere using the browser. Reports are highly customizable, and all different types of testing reports are available in one place. It also eliminates the infrastructure maintenance for your cross-browser and cross-platform execution. Interestingly, it supports native mobile application testing as well, which Cypress and Robot framework doesn’t provide by default.

Cypress and Robot framework is widely used by many organizations. Both are open-source and community-driven. They need technical knowledge at different stages. Organizations need to hire technical resources to manage their automation. Both offer a good set of features, but some features require the integration of third-party plugins. Setting Up an automation framework is time-consuming and requires a lot of time and effort. 

Testsigma is an alternative to Cypress and Robot framework, it provides many additional features without requiring any technical expertise. No-code automation tools like testsigma also help in sharing the resources within the organization and reduce the upskill cost. Furthermore, Testsigma is a SaaS-based tool, hence it manages all the infrastructure required for the test execution, so the organization doesn’t need to spend on setting up their infrastructure. In short, Testsigma requires only a machine that supports browsers, everything can be done without installation and setup. 



Frequently Asked Questions

Which one is better: Cypress or Robot Framework?

Cypress demands more technical proficiency, Robot framework requires comparatively less technical knowledge. Robot framework is a keyword-driven test automation framework that beginners might find easy. On the other hand, Cypress is more flexible and it provides a lot of control over applications under test. There are many advantages and disadvantages to both. You cannot conclude the best framework unless you evaluate the tool against your organization’s requirements.

Is Cypress a replacement for Selenium?

Cypress provides many additional features compared to Selenium. It can be considered as a replacement for Selenium as its primary goal is to perform functional testing. However, Cypress is shipped as framework-ready, once you install you can use it unless you need any customization. Selenium is shipped as a library so you need to create an automation framework by using these libraries and available assertion framework.

Does Cypress support Native Mobile application testing?

Cypress doesn’t support native mobile applications. It has clarified officially in their documentation page FAQ section that Cypress will never support them. If you are looking for native mobile testing support then Testsigma is the right choice.

What is a Cypress Dashboard?

Cypress dashboard is a commercial feature by Cypress and supports many reporting and analysis features.

RELATED BLOGS


Functionize vs Selenium – Which One You Should Choose?
PRIYANKA
ALTERNATIVES
Top 10 Ranorex Alternatives List to Look For
TESTSIGMA ENGINEERING TEAM
ALTERNATIVES
BrowserStack vs AWS Device Farm | Top 10 Key Differences
PRIYANKA
ALTERNATIVES