Add a floating fingertip & automate your app demo video using Xcode UI tests.
Check out our blog post for more info.
Example
To run the example project, clone the repo, and run pod install from the Example directory first.
Installation
1. Create UI test target
If you don't already have one, create a UI test target for your app.
2. Add Floater💩 to your app & UI test targets
CocoaPods
Floater💩 is available through CocoaPods, however the pod should not simply be imported in its entirety. Rather, the two subspecs Floater💩/AppStuff and Floater💩/UITestStuff should each be included separately into your app target & UI test target, respectively.
# Podfile
target 'MyApp' do
pod 'Floater💩/AppStuff'
end
target 'MyAppUITests' do
pod 'Floater💩/UITestStuff'
endSans CocoaPods
- Everything from
Floater💩/Classes/AppStuffgoes into your app target. - Everything from
Floater💩/Classes/UITestStuffgoes into your UI test target. - Everything from
Floater💩/Classes/Sharedgoes into both your app target and your UI test target. - Add HSTestingBackchannel to both targets.
3. Use Floater💩Application as the application class
Swift
Remove @UIApplicationMain from your AppDelegate file, and create a main.swift file containing the following:
import Floater_
UIApplicationMain(Process.argc, Process.unsafeArgv, NSStringFromClass(Floater💩Application.self), NSStringFromClass(YOUR_APP_DELEGATE.self))Objective-C
@import Floater_;
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, NSStringFromClass([FLTRApplication class]), NSStringFromClass([AppDelegate class]));
}
}Usage
Write UI tests!
Write your UI tests as usual, with one difference: Use the
float💩()method prior to each tap to move the floating fingertip between tap events.let awesomeButton = XCUIApplication().buttons["Awesome Button"] awesomeButton.float💩() awesomeButton.tap()You can call this method on both
XCUIElementandXCUICoordinate.If you've never written Xcode UI tests, check out the WWDC 2015 session UI Testing in Xcode.
Run your tests in the simulator by hitting ⌘+U. You'll be presented with the following prompt:
Hit “Allow”. This is necessary for the test process to communicate with your app process.
Use Quicktime Player to record your screen. Boom.

