通过shell从代码调用模拟器上的指纹触摸



我正在尝试进行测试Fingerprint的集成测试。

根据谷歌文档调用手指触摸模拟器从终端你需要使用:

adb-e emu手指触摸<finger_id>

这对我有效。在我的情况下,id是45146572。然而,在测试中,您不能自己输入这个命令,因为它应该自动完成。

我一直在尝试各种方法来解决问题(例如,试图了解应用程序是如何从传感器接收信息的——可能是通过某种广播意图等),但目前我还不知道如何做到这一点

我知道UiAutomation和UiAutomator的类-UiDevice有方法

executeShellCommand

我认为这可能会有所帮助。但即使我做了一些类似的事情:

getUiDevice().executeShellCommand("-e emu finger touch 45146572");

我的设备不会对此做出反应(我在类和各种线程上都尝试过)。我相信这是因为executeShellCommand已经在shell中运行了。所以这就像我在终端上打字一样

Kamils-MacBook-Pro:~ F1sherKK$ adb shell
root@generic_x86_64:/ #

我想这就是问题所在,因为谷歌想要:

adb -e emu finger touch

不是

adb shell -e emu finger touch

我对贝壳的了解可能还不够。我已经看了很多次所有的文档。

你知道如何从外壳中调用手指触摸吗?

我认为您必须使用不同格式的密码。它应该是"aa11aa",即LetterLetterNumberLetterLetter。

最新更新