Reputation: 974
I've discovered a problem recently with my app's setup in Firebase. We have the pre-launch report configured, which means that the test lab devices are contributing a large number of anonymous sessions to our analytics.
Is there any way to detect that a device is running these tests? For example, will isUserAMonkey or isRunningInTestHarness return true for tests in the test lab? This would allow me to adjust the configuration of my analytics/etc if so.
Upvotes: 15
Views: 2026
Reputation: 317522
This is actually mentioned in the docs.
You can check for the existence of a system property called "firebase.test.lab":
@Nullable String testLabSetting =
Settings.System.getString(context.getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
// Do something when running in Test Lab
}
Upvotes: 24
Reputation: 14152
Your 'device under test' should check the IP address and disable analytics if in the Firebase Test Lab IP range.
See my answer at https://stackoverflow.com/a/54954273/114549 for a Util method that handles this.
Upvotes: 2