By clicking the button Subscribe you give a permission for the automatic sending of e-mails
10 best open source test automation frameworks for every purpose
At the beginning of 2018 we decided to bring together the best open source testing frameworks out there. This rating had to be diverse - we chose not to focus on one specific type of tools, but to include a variety - for mobile apps and load testing, for iOS and Android, keyword driven and behavior driven. The only common feature they share is that they are all highly reliable.
Carina is a Java-based test automation framework built on top of the most popular open-source solutions (Selenium, Appium, TestNG) which allows to reduce dependence on a specific technology stack.
unites all testing layers: mobile applications (web, native, hybrid), WEB applications, REST services, databases
supports all popular browsers (IE, Safari, Chrome, Firefox) and mobile devices (iOS/Android) - it reuses test automation code between IOS/Android up to 70-80%
as far as this framework is built in Java, it is cross-platform. Tests may be easily executed both on Unix or Windows OS
framework supports different types of databases - both relational and nonrelational (MySQL, SQL Server, Oracle, PostgreSQL), providing amazing experience of DAO layer implementation using MyBatis ORM framework
API testing is based on Freemarker template engine. It enables great flexibility in generating REST requests and responses are dynamically changed by incoming arguments.
Appium is designed to test mobile applications. It's built with the idea that you should not be recompiling your app or modifying it in any way in order to test it. You also shouldn't be locked into a specific language or framework to run your tests.
easy setup process
cross-platform - allows to test against multiple platforms (iOS, Android, Windows, Mac) using the same API
reuses code between iOS, Android, and Windows test suites
supports simulators (iOS) and emulators (Android)
supports native, hybrid and mobile web applications and desktop apps
based on client/server architecture
by using vendor-provided automation frameworks under the hood there's no need to compile in any Appium-specific or third-party code or frameworks to the app. This means you're testing the same app you're shipping
user is free to use whatever test runner and test framework you want; the client libraries are simply HTTP clients and can be mixed into your code giving the possibility to manage your test environment any way you like!
you can create elements repositories and manage them after changes
RobotFramework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It's core framework is written in Python, but also supports IronPython (.NET), Jython (JVM) and PyPy as well.
keyword driven approach to simplify tests and make them readable
reusable higher-level keywords can be created from existing ones
easy-to-use tabular test data syntax
rich ecosystem including variety of APIs consisting of generic test libraries and tools that can be developed as separate projects
highly extensible natively - using Python and Java libraries, and by the means of different API's
Robotium is a test automation framework made to simplify the task of writing powerful and solid automatic black-box UI tests for Android. With the help of this framework developers are able to write function, system and user acceptance test scenarios covering numerous Android activities.
tests both native and hybrid Android apps
can be used both for testing applications with the source code available and applications with unknown implementation details
faster test case execution
requires minimal knowledge of the application under test
handles multiple Android activities automatically
minimal time needed to write solid test cases
readability of test cases is greatly improved, compared to standard instrumentation tests
test cases are more robust due to the run-time binding to UI components
integrates smoothly with Maven, Gradle or Ant to run tests as part of continuous integration
These were the top 10 of test automation frameworks for the beginning of 2018. Some of them are brand new, some are well-known and have earned a good reputation through time. It's always nice to automate the testing process to a certain scale in order to save time, effort and reduce the amount of testing errors.
Do you have something to add to this list? What is your favorite automation testing framework from your personal testing experience? We would be happy to know.