Analytics
Understanding analytics
When recording or running your test, Waldo automatically intercepts the API calls to many popular analytics packages. This enables you to easily see exactly which analytics events are generated at each step of your test.
Displaying analytics events
Once you finish recording your test, you can see a list of all analytics events that are generated at each step of the test:
- Go to the
Tests
page and click on the test you would like to inspect. This is what we call the test detail page.

- Click on the particular step (screen) in the test you wish to examine. Waldo displays a modal window with a list of all assertions for this particular step.

- Click on the “Analytics” tab of the modal window. Waldo displays a list of all analytics events generated at this particular step.

- Click the
>
button on a list item to reveal details about that specific analytics event.

Supported analytics packages
Waldo currently supports intercepting API calls to the following analytics packages:
Amplitude
iOS
-[Amplitude initializeApiKey:userId:setUserId:]
-[Amplitude logEvent:withEventProperties:withApiProperties:withUserProperties:withGroups:withGroupProperties:withTimestamp:outOfSession:]
Android
AmplitudeClient.identify(com.amplitude.api.Identify);
AmplitudeClient.logEvent(...);
Firebase
iOS
+[FIRAnalytics logEventWithName:parameters:]
+[FIRApp configureWithName:options:]
Android
FirebaseAnalytics.logEvent(...);
Flurry
iOS
+[Flurry logError:message:error:withParameters:]
+[Flurry logError:message:exception:withParameters:]
+[Flurry logEvent:timed:]
+[Flurry logEvent:withParameters:timed:]
+[Flurry startSession:]
Android
Not supported yet
Heap
iOS
+[Heap setAppId:]
+[Heap track:withProperties:]
Android
Heap.track(...);
Heap.identify(String);
Keen
iOS
-[KeenClient addEvent:withKeenProperties:toEventCollection:error:]
-[KeenClient initWithProjectID:andWriteKey:andReadKey:apiUrlAuthority:]
+[KeenClient sharedClientWithProjectID:andWriteKey:andReadKey:apiUrlAuthority:]
Android
KeenClient.addEvent(...);
Localytics
iOS
-[LLBaseLocalyticsManager integrate:withLocalyticsOptions:]
-[LLAnalyticsSilo tagEvent:attributes:customerValueIncrease:extensionInfo:source:]
Android
AnalyticsHandler.tagEvent(...);
Mixpanel
iOS
-[Mixpanel initWithToken:launchOptions:flushInterval:trackCrashes:automaticPushTracking:optOutTrackingByDefault:]
-[Mixpanel track:properties:]
Android
MixpanelAPI.track(...);
mParticle
iOS
-[MPBackendController logCommerceEvent:completionHandler:]
-[MPBackendController logError:exception:topmostContext:eventInfo:completionHandler:]
-[MPBackendController logEvent:completionHandler:]
-[MPBackendController logNetworkPerformanceMeasurement:completionHandler:]
-[MPBackendController logScreen:completionHandler:]
-[MPBackendController logUserNotification:]
-[MParticle startWithOptions:]
Android
MParticle.logEvent(...);
Segment
iOS
-[SEGAnalytics initWithConfiguration:]
-[SEGAnalytics run:payload:]
Android
Analytics.identify(Traits, Options);
Analytics.track(Properties, Options);
Analytics.screen(Properties, Options);
Snowplow
iOS
-[SPEmitter addPayloadToBuffer:]
+[SPSnowplow createTrackerWithNamespace:network:configurations:]
+[SPTracker build:]
Android
Tracker.track(...);
Updated about 2 years ago