KIF Cross Platform Frameworks App


by Apache

An iOS Functional Testing Framework
Helps with: Cross Platform Frameworks
Similar to: Crosslight App Kendo-ui App Alpha Anywhere App Emo Open Source Framework App More...
Source Type: Open
License Types:
Supported OS:
Languages: Objective C Swift

What is it all about?

KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities.

Key Features

* Minimizes Indirection - All of the tests for KIF are written in Objective C. This allows for maximum integration with your code while minimizing the number of layers you have to build. * Easy Configuration - KIF integrates directly into your Xcode project, so there's no need to run an additional web server or install any additional packages. * Wide OS coverage - KIF's test suite has been run against iOS 5.1 and above (including iOS 9), though lower versions will likely work. * Test Like a User - KIF attempts to imitate actual user input. Automation is done using tap events wherever possible. * Automatic Integration with Xcode 5 Testing Tools - Xcode 5 introduces new testing and continuous integration tools built on the same testing platform as KIF. You can easily run a single KIF test with the Test Navigator or kick off nightly acceptance tests with Bots.


Trial With Card
Trial No Card
By Quote




View More Alternatives

View Less Alternatives

Product Analysis

Cross Platform Frameworks

KIF Framework

KIF Framework

By Hugo R | 12/6/2016 | Product Analysis |Beginners

KIF, standing for Keep It Functional is an open source and free iOS test framework created to easily automatize iOS apps by taking advantage of the accessibility tools for people with visual disabilities. KIF is free and open source.


Creating apps is not just a matter of developing and coding, you have to deliver the best output to a very demanding market. If an app is good but it’s not well polished, it will be worth nothing. iOS is one of the most demanding markets in the world, for some reason iOS users ask for more quality than other platforms so, if you are developing an iOS app you will have to test it sooner or later. UI testing is one of the most boring and tedious tasks of app development because well, you just have to tap everywhere, swipe here, swipe there and input text on every field. Big companies have testers to do so but the individual developer has to do that himself, draining his time. Time is a priceless asset for the individual developer, you have to get time to develop your app and, on top of all of that, spend part of that time testing what you just coded. This is why automated tests are very recommendable for UI testing.

Test automation is quite a new concept for mobile apps. Since software has no capacitive fingers to swipe the screen, tap buttons and input text, how is it done?

KIF uses a standard XCTest testing target to perform all the tests and these tests are conducted in the main thread in a synchronous way by running the run loop in order to force time passing so that a more complex composition and logics are allowed as well as taking a great advantage of the Xcode Test Navigator, Bot test reports and the command line build tools. Bear in mind you can’t let KIF go into the production code and submitted to the store because if you do so, the submission will be rejected by Apple. This is because KIF uses undocumented Apple APIs, which is safe for testing purposes and most iOS testing frameworks do as well.

Performed tests by KIF are written in Objective C to allow a maximum integration with your code and also to minimize the layers you have to build. Since KIF is integrated directly into the Xcode project you don’t have to install any packages or additional web servers. Configuring KIF is very easy. KIF is also compatible with most iOS versions, it has been tested on iOS 8.1 and above but it is likely it may work on lower versions as well. KIF tries to perform tests as a user would. In an attempt to imitate a human input, it uses tap events if possible.

Getting started with KIF is easy and straightforward. Since it is an open source and free program you can just download it from GitHub and use it at your own risk. It is an unsupported app but they have good feedbacks from users so, it seems it is completely safe to use.

Once you have the files you have to make some preparations before starting. These preparations can vary depending on each project but there is a good tutorial on how to start KIF and how to get things ready to start testing. Once you have configured it you can start automated tests. KIF can do many different things on your apps.

First it can switch tabs and tap around buttons, this is the most basic test but it is something really annoying for developers, would you like to tap on every button by yourself or would you rather prefer a program to do that for you? Easy answer dude. But not just tapping buttons or swiping screens, there is much more to be done in an UI test, and KIF can do almost anything for you.

But that’s not all you can get done with KIF. Switching tabs and tapping around is ok but there are other actions you should perform to correctly test a UI like triggering modal dialogs, selecting a table viewing row or entering text. This can be done with several presets to make tasks easier for you. You can also set custom taps at the same time you are using the text input option. Everything performed by KIF will be stored in a History table to keep track of the automated tests.

Even though it is an open source project, it is being maintained and new features are being added from time to time. You can also integrate KIF in any of your apps if you need so or you can use the CocoaPods dependency manager.



  • It automatically tests UIs, that itself is a big pro
  • It keeps track of everything
  • Easy to use and to integrate
  • Open-source and free for all
  • It is maintained and the developers are responsive
  • Supports advanced moves like delete gesture


  • Just for iOS, no Android version
  • Some functionalities may be buggy


Saving development time is very important for an app, and even more if you are just by yourself. Having to test UIs is an arduous task that nobody likes and chances are, you don’t have money to pay somebody to do it for you. This is why automated tests are so nice, because you don’t have to pay anybody to do this monotonous and tedious work and you don’t have to do it by yourself and rather do something more productive like keep the app in development. KIF solves that problem and adds some cool functionalities. It can automatically tap everywhere, swipe, switch tabs, input text and many more. It keeps track of everything done in the test and it doesn’t get tired, can perform the same tests over and over again. It’s even better that it is an open source project being maintained regularly so, expect frequent updates and added functionalities.

By Hugo R | 12/6/2016 | Product Analysis

{{CommentsModel.TotalCount}} Comments

Your Comment


Top DiscoverSDK Experts

User photo
Karen Fitzgerald
7 years in Cross-Platform development.
Mobile | Cross Platform Frameworks
View Profile
User photo
Martin Cohen
Over 5 years in cross-platform development.
Mobile | Cross Platform Frameworks
View Profile
User photo
Ronan McCarthy
Cross-Platform & Web developer.
Web | Mobile and 6 more
View Profile
User photo
John Cole
Experienced Cross-Platform developer.
Mobile | Game Development and 2 more
View Profile
Show All

Interested in becoming a DiscoverSDK Expert? Learn more


Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.


Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now