Настройка разрешений камеры на Android с помощью Detox - PullRequest
2 голосов
/ 09 июля 2020

Описание

Тестирую экран с доступом к камере, чтобы сделать фото. Но я не могу разобраться с диалогом разрешений в тестах на Android.

Я запускаю тесты с await 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
  • React Native: 0.60.4
  • Узел: 12.16.1
  • ОС: macOS Mojave 10.14.6
  • Устройство: эмулятор Nexus S API 27

1 Ответ

0 голосов
/ 21 июля 2020

У меня также есть эта проблема с Detox 17.2.0, React Native 0.61, API 27 для моего эмулятора Android. Он отлично работает на iOS, но на Android независимо от того, что я установил NO или YES в разрешениях, они всегда включены.

Если я изменю эти разрешения в приложении перед запуском detox test , все разрешения снова включены.

Мои тесты выглядят следующим образом:

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' } })
    ...
  })
})

Detox не может справиться с этим на данный момент, я думаю, если вы проверите эту проблему https://github.com/wix/Detox/issues/2184

...