All Projects → KaneCheshire → BiometricAutomationDemo

KaneCheshire / BiometricAutomationDemo

Licence: other
Dependency free iOS biometric automation example.

Programming Languages

swift
15916 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to BiometricAutomationDemo

Peasy
A pure Swift mock server for embedding and running directly within iOS/macOS UI tests. Easy peasy.
Stars: ✭ 32 (-39.62%)
Mutual labels:  xctest, xcui
Valet
Valet lets you securely store data in the iOS, tvOS, or macOS Keychain without knowing a thing about how the Keychain works. It’s easy. We promise.
Stars: ✭ 3,712 (+6903.77%)
Mutual labels:  touch-id, face-id
FaceId-TouchId
FaceID/TouchID using Swift 4
Stars: ✭ 18 (-66.04%)
Mutual labels:  touchid, faceid
TABTestKit
Library designed to make writing and maintaining automated tests for iOS applications. This includes automation of bio-metrics and controlling of mock servers
Stars: ✭ 53 (+0%)
Mutual labels:  biometrics, xcui
BiometricAuth
Framework for biometric authentication (via TouchID) in your application
Stars: ✭ 28 (-47.17%)
Mutual labels:  touchid, biometrics
cordova-plugin-gctouch-id
Touch ID Plugin (Cordova) for iOS
Stars: ✭ 20 (-62.26%)
Mutual labels:  touchid, touch-id
LCAuthManager
一个简单、高效、易用的权限验证库,包括手势密码、Touch ID和Face ID;A comprehensive, efficient and easy-to-use rights verification library, including Gesture Password, Touch ID and Face ID.
Stars: ✭ 28 (-47.17%)
Mutual labels:  touchid, faceid
Flutterauthfaceid Fingerprint
Stars: ✭ 64 (+20.75%)
Mutual labels:  touchid
Cordova Plugin Touch Id
💅 👱‍♂️ Forget passwords, use a fingerprint scanner!
Stars: ✭ 209 (+294.34%)
Mutual labels:  touchid
Dyfauthidandgesturelock
手势密码解锁和 TouchID (指纹) / FaceID(面容) 解锁,代码简洁高效。(Gesture passcode unlocking and TouchID (fingerprint) / FaceID (facial features) unlocking, its code is concise and efficient.) https://github.com/dgynfi/DYFAuthIDAndGestureLock
Stars: ✭ 20 (-62.26%)
Mutual labels:  touchid
React Native Fingerprint Scanner
Provide Fingerprint, Touch ID, and Face ID Scanner for React Native (Compatible with both Android and iOS)
Stars: ✭ 704 (+1228.3%)
Mutual labels:  touchid
React Native Touch Id
React Native authentication with the native Touch ID popup.
Stars: ✭ 1,341 (+2430.19%)
Mutual labels:  touchid
Cordova Plugin Fingerprint Aio
👆 📱 Cordova Plugin for fingerprint sensors (and FaceID) with Android and iOS support
Stars: ✭ 236 (+345.28%)
Mutual labels:  touchid
Titanium Identity
A collection of API's to authenticate with your device: Keychain/Keystore, Touch ID and Face ID
Stars: ✭ 36 (-32.08%)
Mutual labels:  touchid
open2fa
Two-factor authentication app with import/export for iOS and macOS. All codes encrypted with AES 256. FaceID & TouchID support included. Written with love in SwiftUI ❤️
Stars: ✭ 24 (-54.72%)
Mutual labels:  faceid
Biometricauthentication
Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication.
Stars: ✭ 746 (+1307.55%)
Mutual labels:  touchid
xctest-dynamic-overlay
Define XCTest assertion helpers directly in your application and library code.
Stars: ✭ 138 (+160.38%)
Mutual labels:  xctest
PersonalAnalytics
Personal Analytics project to increase knowledge workers' awareness about work and productivity.
Stars: ✭ 47 (-11.32%)
Mutual labels:  biometrics
Applocker
AppLocker - simple lock screen for iOS Application ( Swift 4+, iOS 9.0+) Touch ID / Face ID
Stars: ✭ 188 (+254.72%)
Mutual labels:  touchid
Dmpasscode
🔒 Passcode screen with Touch ID support
Stars: ✭ 156 (+194.34%)
Mutual labels:  touchid

BiometricAutomationDemo

Dependency-free iOS Face ID and Touch ID automation example.

Zoom out

UI testing anything related to biometrics is really tough on iOS because there's no way to simulate/turn on biometrics on the Simulator from within UI tests, wihtout some sort of external dependency.

Until now.

This project serves as a demo project for a blog post I wrote about how we approached finding a solution, and eventually ended up with what you can find in this repo.

The demo

If you download or clone the repo, all you'll find is an Xcode project with a simple app and some UI tests.

Once you open the project you'll find four UI tests:

  • One for launching the app with biometrics disabled.
  • One for launching the app with biometrics enabled.
  • One for successfully authenticating with biometrics.
  • One for failing to authenticate with biometrics.

The UI in the app adapts based on what the state of biometrics are at launch, so you can easily see the UI tests in action.

Face ID vs Touch ID

Although Face ID and Touch ID APIs are largely the same, there are some things to consider when automating them.

For example, you don't need to ask the user's permission to use Touch ID but the first time you try to authenticate the user with Face ID a permissions prompt will appear.

The demo project handles this by checking for the existence of the permissions prompt before trying to approve it, since it will only show once for Face ID and never for Touch ID.

Another thing to be aware of us the differences in the UI between Touch ID and Face ID. Touch ID always has a visible cancel button, whereas Face ID doesn't.

Further reading

If you want to read how we structure our automation tests to be significantly easier to read and maintain, check out this series of posts.

Enjoy!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].