tmtrademark
tmtrademark

Reputation: 974

How to detect running in Firebase Test Lab

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

Answers (2)

Doug Stevenson
Doug Stevenson

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

aaronvargas
aaronvargas

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

Related Questions