Even if Windows might be the most used operating system in software development organizations, it doesn’t mean that you cannot use a computer working with Mac OS to perform functional testing. This article provides a list of open source functional testing tools that work on Mac OS.
Since Mac OS is based on Unix, many open source functional testing tools that support this platform or that are using the Java Virtual Machine (JVM) can also run on Mac OS. One of the reasons of having your software testing tool installed on a Mac OS machine could be that you need to test some characteristics that are specific to this operating system. You might want to check how your software work with the OS X file management system, its interaction with some specific Apple software.
This article presents a list of open source functional testing tools that work on Mac OS. For each tool you will get a small description of its features and its home page on the web. Feel free to suggest any additional open source tool that you think might be included in this article. Tools are listed by alphabetical order. The open source functional testing tools and frameworks that work on Mac OS mentioned in this article are: Cedar, Galen Framework, Gauge, Katalon, Quick, SikuliX.
Cedar is an open source behavior-driven development (BDD) Objective-C testing tool with an expressive matcher domain-specific language (DSL) and convenient test doubles. Writing specs for Cedar is very similar to writing OCUnit tests, except that the language describes the behavior of your objects. Cedar specs also allow you to nest contexts so that it is easier to understand how your object behaves in different scenarios. You can add Cedar to your project via CocoaPods or Carthage. Cedar can be configured to output test results in different ways. You can also configure Cedar to add your own custom matchers.
Web site: https://github.com/cedarbdd/cedar
Galen is an open-source tool for testing layout and responsive design of web applications. It is also a powerful functional testing framework. Galen offers a simple solution to write tests for a screen layout: test location of objects relatively to each other on page. Using a special syntax and comprehensive rules you can describe any screen layout you can imagine. The Galen Framework uses Selenium in order to open web browser and select the tested elements on page. It has a special language to describe the layout of web page for different browser sizes. You just need to define your own tags for devices and sizes and then using the Galen spec language write checks for each element on page. Galen can run multiple tests in parallel.
Web site: http://galenframework.com/
Gauge is an open source lightweight cross-platform functional testing tool developed by ThoughtWorks. It provides the ability to author test cases in the business language. Gauge offers a markup language based on markdown with a simple, flexible and rich syntax. Gauge supports the concept of executable documentation with specifications written in the business language. It is based on a modular software architecture that can be extended with plugins.
Web site: https://getgauge.io/
Even if it is not open source, Katalon if a free functional testing tool that works on Mac OS. Katalon Studio try to hide technical complexity behind the scene and provides a friendly UI with the manual mode (user can drag-drop, select keywords and test objects to form test steps). It also keeps the necessary weapons for more technically powerful users who are able to dig deeper into coding with the scripting mode that fully supports development conveniences like syntax highlighting, code suggestion and debugging.
Web site: https://www.katalon.com/
Quick is an open source behavior-driven development (BDD) testing tool for Swift and Objective-C that has been inspired by the Rspec tool for Ruby. Tests should only fail if the application behaves differently. They should test what the application code does, not how it does those things. Tests that verify what an application does are behavioral tests.
Web site: https://github.com/Quick/Quick
SikuliX is a cross-platform open source tools that allows automates anything you see on the screen of your desktop computer. It uses image recognition to identify and control GUI components, a technique that is useful when you cannot access to the screen internals or the source code of the application or web page you want to test. Using the SikuliX IDE, you can setup and maintain visual workflows including capturing and organizing the screens. Besides knowing the options of the basic commands, you do not need any programming or scripting knowledge to create your functional tests.
Web site: http://sikulix.com/