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:

  1. Go to the Tests page and click on the test you would like to inspect. This is what we call the test detail page.
  1. 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.
  1. Click on the “Analytics” tab of the modal window. Waldo displays a list of all analytics events generated at this particular step.
  1. 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

-[Amplitude initializeApiKey:userId:setUserId:]
-[Amplitude logEvent:withEventProperties:withApiProperties:withUserProperties:withGroups:withGroupProperties:withTimestamp:outOfSession:]

Firebase

+[FIRAnalytics logEventWithName:parameters:]
+[FIRApp configureWithName:options:]

Flurry

+[Flurry logError:message:error:withParameters:]
+[Flurry logError:message:exception:withParameters:]
+[Flurry logEvent:timed:]
+[Flurry logEvent:withParameters:timed:]
+[Flurry startSession:]

Heap

+[Heap setAppId:]
+[Heap track:withProperties:]

Keen

-[KeenClient addEvent:withKeenProperties:toEventCollection:error:]
-[KeenClient initWithProjectID:andWriteKey:andReadKey:apiUrlAuthority:]
+[KeenClient sharedClientWithProjectID:andWriteKey:andReadKey:apiUrlAuthority:]

Localytics

-[LLBaseLocalyticsManager integrate:withLocalyticsOptions:]
-[LLAnalyticsSilo tagEvent:attributes:customerValueIncrease:extensionInfo:source:]

Mixpanel

-[Mixpanel initWithToken:launchOptions:flushInterval:trackCrashes:automaticPushTracking:optOutTrackingByDefault:]
-[Mixpanel track:properties:]

mParticle

-[MPBackendController logCommerceEvent:completionHandler:]
-[MPBackendController logError:exception:topmostContext:eventInfo:completionHandler:]
-[MPBackendController logEvent:completionHandler:]
-[MPBackendController logNetworkPerformanceMeasurement:completionHandler:]
-[MPBackendController logScreen:completionHandler:]
-[MPBackendController logUserNotification:]
-[MParticle startWithOptions:]

Segment

-[SEGAnalytics initWithConfiguration:]
-[SEGAnalytics run:payload:]

Snowplow

-[SPEmitter addPayloadToBuffer:]
+[SPSnowplow createTrackerWithNamespace:network:configurations:]
+[SPTracker build:]

🚧

Analytics is only for iOS apps — Android coming soon