I’m in need of some appium help. I have appium authenticating an app with biometrics enabled on android. The app running in Sauce Labs uses a different call to authenticate biometrics than a local emulator. The call to Sauce Labs works perfectly, but when doing the calls on a local android emulator, they fail to authenticate. The Android emulator has a fingerprint setup on fingerprint 1. I am using python and tried,
driver.finger_print(1)
It fails. I then bypassed driver with the appium http api like this,
http://0.0.0.0:4723/wd/hub/session/<appium_session_id>/appium/device/finger_print
with a json body of,
{
"fingerprintId": 1
}
and it still fails. the appium server output is,
[HTTP] --> POST /wd/hub/session/a4488470-2f44-4c51-b145-ec930b10a4fc/appium/device/finger_print
[HTTP] {"fingerprintId":1}
[W3C (a4488470)] Calling AppiumDriver.fingerprint() with args: [1,"a4488470-2f44-4c51-b145-ec930b10a4fc"]
[ADB] Getting connected emulators
[ADB] Getting connected devices
[ADB] Connected devices: [{"udid":"emulator-5554","state":"device"}]
[ADB] 1 emulator connected
[ADB] Running '/Users/Shel/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adb -P 5037 -s emulator-5554 emu finger touch 1'
[W3C (a4488470)] Responding to client with driver.fingerprint() result: null
I have also ran the adb command locally.
adb -e emu finger touch 1
it failed.
I’ve have even done the telnet option,
telnet 127.0.0.1 5554
finger touch 1
It also fails.
In every case this is what I see on the screen. I should mention this is a React Native app.
If I manually use the emulator and select fingerprint 1 in the device manage screen it will authenticate. So the fingerprint is there and is recognized. The emulator is running on a mac in Android Studio and is a Pixel 4 XL with Android 12 at API 31.
ANY help here would be appreciated. I’m really stuck.