There is no shortage of Op-Eds on why Open Source Software is one of the biggest disruptors of the $3.8 Trillion IT industry, when OSS came out it rewrote the rules for the software industry and really shook things up- and now, Open Source Software is used in 80% of enterprises.

Along the same lines – Open Source QA Tools have been becoming increasingly popular in main-stream organizations and we’re seeing the vast majority of Fortune 500 organizations are incorporating Free & Open Source Software QA tools in varying capacities.

In keeping up with the latest and most popular QA tools we’ve compiled a list of all of the Open Source Automation Technologies & Tools currently supported by Awetest, and we continue to add support for more open source technologies. As always, the core benefit of Awetest is that you’re not limited by a single technology or library -you can use any of the following in the context of the application being tested.


Open Source Automation Technologies Supported by Awetest

Cross Browser Automation Tools:



Watir: a family of Ruby libraries for the automation of web browsers, it supports multiple browsers on different platforms making it the perfect cross browser automation tool. It has a large amount of community users and prides itself in being simple and flexible, it supports your web app in ANY technology that it is developed in even though it is a family of Ruby libraries. It should be noted Watir supports only Internet Explorer on Windows.

Watir-WebDriver: The great thing about Watir-WebDriver is that it has all of the functionality of Watir with the added support of Chrome, Firefox, Opera, and running in headless mode (HTMLUnit), along with supporting Internet Explorer.


Selenium WebDriver: also referred to as Selenium 2.0, is Selenium’s inclusion of the WebDriver API. Selenium WebDriver drives a browser natively as a user would- either remotely or locally. For cross browser automation it supports Chrome, Firefox, IE, Safari, and HTMLUnit.


Visual/UI Automation:


Sikuli: automates anything you see on a screen, which is why we use it for UI Automation purposes. Sikuli uses image recognition to control and identify Graphical User Interface (GUI) components. It is particularly useful when there’s no easy access to a GUI’s internal or source code. Note: we’ve also built libraries to support some of the visual validations from Cascading Styles Sheets (CSS) properties but there is no substitute for an eyeball.


Mobile Automation:



Calabash: allows for the writing and execution of automated acceptance tests of mobile apps. It supports Android & iOS native applications and is cross-platform. Calabash gives API’s that are specialized to native apps for touch screen devices, which would be vastly different from a desktop experience.




Frank: used for the testing of iOS and Mac with Cucumber on both devices and emulators. It allows for writing and running structured text tests, acceptance tests, and requirements against your iOS app. Frank runs with Continuous Integration (runs tests with every checkin), and has the option to video record your test to see your app in action.



Appium: enables the automation of native, mobile web, and hybrid apps on iOS and Android. It supports Safari on iOS and Chrome (or the built-in browser) on Android. Appium works cross-platform, allowing you to write tests against multiple platforms using the same API.




Cucumber: tool that executes plain-text functional descriptions as automated tests. Cucumber is extremely easy to understand because it is written in simple English, this makes for extremely easy communication between the technical and the non-technical. The language that Cucumber understands Gherkin.


Awetestlib: our custom tool for automating testing of browser-based apps on Windows or Mac. While Cucumber supports integration with data sources (e.g. Excel) for data-driven testing, Awetestlib is best for building a more scalable framework to support more complicated multi-role/visibility-matrix/etc. type tests.