使用Detox在Android上设置摄像头权限
说明 我正在测试一个可以进入相机的屏幕,以便拍摄照片。但是我不能在Android上的测试中处理权限对话框 我使用使用Detox在Android上设置摄像头权限,android,react-native,e2e-testing,detox,Android,React Native,E2e Testing,Detox,说明 我正在测试一个可以进入相机的屏幕,以便拍摄照片。但是我不能在Android上的测试中处理权限对话框 我使用wait device.launchApp({permissions:{camera:'YES'})运行测试。此设置适用于iOS。我如何接受Android的所有权限?或者我如何处理Android上的权限对话框 复制 init.js设置 await device.launchApp({ permissions: { photos: 'YES', camera: 'YES' }, })
wait device.launchApp({permissions:{camera:'YES'})运行测试代码>。此设置适用于iOS。我如何接受Android的所有权限?或者我如何处理Android上的权限对话框
复制
init.js设置
await device.launchApp({
permissions: { photos: 'YES', camera: 'YES' },
});
仿真器设置
{
"configurations": {
"android.emu.debug": {
"binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
"build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
"type": "android.emulator",
"device": {
"avdName": "Nexus_S_API_27"
}
}
}
}
环境
- 排毒:16.2.1
- 反应本机:0.60.4
- 节点:12.16.1
- OS:macOS Mojave 10.14.6
- 设备:emulator Nexus S API 27
我的Android仿真器的解毒17.2.0、React Native 0.61、API 27也有这个问题。它在iOS上运行得很好,但在Android上,无论我在权限上设置了
NO
或YES
,它们都是启用的
如果我在启动解毒测试之前更改了应用程序上的这些权限,则所有权限都将再次启用
我的测试如下所示:
describe('Permissions', () => {
beforeEach(async () => {
await device.reloadReactNative()
})
it('displays no warning when camera and microphone access are authorized', async () => {
await device.launchApp({ newInstance: true, permissions: { camera: 'YES', microphone: 'YES' } })
...
})
it('displays a warning message + button to app settings when camera access is denied', async () => {
await device.launchApp({ newInstance: true, permissions: { camera: 'NO', microphone: 'YES' } })
...
})
})
排毒暂时无法处理这个问题,我想如果你检查一下这个问题