Вопрос или проблема
Я хочу автоматизировать биометрическую аутентификацию для приложения. Но биометрический вход будет доступен только в том случае, если биометрия зарегистрирована на устройстве. Как включить биометрию (отпечаток пальца или разблокировку по лицу) на устройствах фермы устройств, на которых я буду выполнять скрипт автоматизации (Java с Appium)? А затем, после регистрации, как использовать эту биометрию для входа в приложение?
Я пробовал использовать команду adb, но это не сработало. В эмуляторе я смог выполнить аутентификацию по отпечатку пальца, но это не работает на AWS Device Farm. Я выбрал устройство Pixel 4a, которое имеет датчик на задней панели.
Ответ или решение
Автоматизация биометрической аутентификации в AWS Device Farm с использованием Java и Appium может быть сложной задачей, особенно когда речь идет о настройке биометрических функций на виртуальных устройствах. Ниже приведены шаги, которые помогут вам справиться с этой задачей.
Шаг 1: Настройка биометрической аутентификации
-
Выбор устройства: Убедитесь, что вы выбрали устройство, поддерживающее биометрическую аутентификацию. В вашем случае Pixel 4a – это правильный выбор, так как у него есть сенсор отпечатков пальцев.
-
Регистрация биометрических данных:
-
Использование ADB команд: Попробуйте следующие команды для регистрации отпечатка пальца. Убедитесь, что у вас есть доступ к ADB на вашем локальном компьютере и установлены необходимые настройки.
-
Зайдите в AWS Device Farm и выберите ваше устройство.
-
Подключитесь к устройству через ADB:
adb -s <device_id> shell
-
Затем выполните команды:
adb shell am start -a android.settings.SECURITY_SETTINGS
-
Это откроет экран настроек безопасности. Однако, наличие графического интерфейса может быть недоступно на AWS Device Farm. В этом случае, вам может потребоваться использовать
uiautomator
для автоматизации процесса регистрации биометрий.
-
-
Использование
uiautomator
:- Создайте скрипт с использованием
uiautomator
. Скрипт должен перейти к настройкам безопасности и автоматически зарегистрировать отпечатки пальцев.
- Создайте скрипт с использованием
Шаг 2: Использование биометрической аутентификации в вашем приложении
-
Настройка вашего Java Appium теста:
- Убедитесь, что ваше приложение правильно настроено для использования биометрической аутентификации. Это может включать такие библиотеки, как AndroidX Biometric Library.
-
Использование Appium для выполнения биометрической аутентификации:
- После регистрации отпечатков пальцев вам нужно будет эмулировать процесс аутентификации с использованием Appium. В вашем тесте на Java можете использовать следующий код:
// Импортируйте необходимые библиотеки Appium import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.TouchAction; import io.appium.java_client.touch.offset.PointOption; // Код для выполнения биометрической аутентификации AndroidDriver<MobileElement> driver; // Ваш драйвер // Выполнение биометрической аутентификации driver.openDeviceClipboard(); // Это требует разрешение driver.performTouchAction(new TouchAction<>(driver) .tap(PointOption.point(x, y)) // Замените x, y на координаты отпечатка .perform());
-
Эмуляция биометрической аутентификации:
- AWS Device Farm поддерживает эмуляцию биометрической аутентификации, и вы можете использовать ADB команду для имитации успешной биометрической аутентификации:
adb shell pm grant <ваш.пакет.имя> android.permission.USE_BIOMETRIC adb shell am broadcast -a android.intent.action.BIOMETRIC_SUCCESS —ez android.intent.extra.BIOMETRIC_SUCCESS true
Шаг 3: Тестирование
После выполнения вышеуказанных шагов, протестируйте вашу автоматизированную биометрическую аутентификацию на AWS Device Farm. Убедитесь, что автоматизированный этап регистрации и аутентификации проходит успешно.
Заключение
Автоматизация биометрической аутентификации в AWS Device Farm требует комбинирования нескольких токов: правильной регистрации биометрии и внедрения автоматизации через ADB и Appium. Если возникнут дополнительные вопросы или проблемы, рекомендую ознакомиться с документацией AWS Device Farm и ресурсами по использованию ADB и Appium для более глубокого понимания.