Как определить запуск в Firebase Test Lab

Недавно я обнаружил проблему с настройкой моего приложения в Firebase. У нас настроен предварительный отчет, что означает, что устройства тестовой лаборатории вносят большое количество анонимных сеансов в нашу аналитику.

Есть ли способ определить, что устройство выполняет эти тесты? Например, будет isUserAMonkey или isRunningInTestHarness возвращает true для тестов в тестовой лаборатории? Это позволило бы мне настроить конфигурацию моей аналитики и т. Д., Если это так.


person tmtrademark    schedule 24.04.2017    source источник


Ответы (2)


На самом деле это упоминается в документации.

Вы можете проверить наличие системного свойства с именем 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
}
person Doug Stevenson    schedule 24.04.2017
comment
Один дополнительный вопрос здесь. Похоже, что с помощью этого кода было обнаружено большинство устройств, на которых выполняются автоматические тесты, но не все. В отчете о предварительном запуске Play указано, что тесты проводились на Nexus 5/7/9 и телефоне Galaxy. Эти устройства перестали отображаться в наших журналах, но один мошеннический Nexus 5X продолжает появляться с каждой сборкой. Возможно ли, что в дополнение к упомянутому здесь свойству firebase.test.lab необходимо проверить какую-либо другую конфигурационную переменную? - person tmtrademark; 10.05.2017
comment
Насколько мне известно, нет. Присоединяйтесь к каналу # test-lab в Firebase Slack, чтобы узнать больше об этом. Если есть проблема, мы ее разберем. firebase.community - person Doug Stevenson; 10.05.2017
comment
Обратите внимание, что если вы конвертируете этот ответ в Kotlin, testLabSetting может иметь значение null, поэтому вам нужно будет объявить testLabSetting как String?, иначе вы столкнетесь с неприятным NPE, если приложение будет запущено на устройстве, не являющемся тестовой лабораторией. - person guy.gc; 05.10.2020

Ваше «тестируемое устройство» должно проверить IP-адрес и отключить аналитику, если оно находится в диапазоне IP-адресов Firebase Test Lab.

См. Мой ответ на странице https://stackoverflow.com/a/54954273/114549, чтобы узнать о методе Util, который справляется с этим.

person aaronvargas    schedule 02.03.2019