AutoGrantPermissions 不适用于 Andriod 10 和 11 以及 Appium 1.18.3

AutoGrantPermissions not working with Andriod 10 and 11 with Appium 1.18.3

我目前正在使用 Appium 和 android 模拟器进行测试自动化。

Appium 详细信息:

App Version 1.18.3
Electron: 7.2.4
Node.js: 12.8.1

模拟器详细信息


Name: Pixel 2 Q 10.0 - API 29
OS: Q 10.0 - API 29
Processor: x86
Memory: 1GB
Resolution: 1080x1920 420 dpi

脚本中设置的所需功能

app_file_path = "https://.../selendroid-test-app.apk"
platform_version = "10.0"
platform_name = "Android"
appium_port = "4723"
device_name = "Android Emulator"

desired_caps = {  
    caps: {
      automationName: "UIAutomator2",
      app: app_file_path,
      platformName: platform_name,
      platformVersion: platform_version,
      deviceName: device_name,
      newCommandTimeout: 3600,
      autoGrantPermissions: true
    },
    appium_lib: {
      port: appium_port
    }
  }

  driver = Appium::Driver.new(desired_caps).start_driver

在 运行 这个 ruby 脚本上,我观察到模拟器上的屏幕显示以下内容并阻止了我的自动化。有没有其他方法可以绕过此屏幕,因为它会阻止自动化。许多遇到此错误的人通过将 autograntpermissions 设置为 true 解决了这个问题。但是,这不适用于 android 版本 10 和 11 的模拟器。 [模拟器截图][1] [1]: https://i.stack.imgur.com/9fS47.png

请告诉我如何解决这个问题。

我能够通过在所需功能中将 fullReset 设置为 true 来解决这个问题。现在我想要的功能如下

desired_caps = {  
    caps: {
      automationName: "UIAutomator2",
      app: app_file_path,
      platformName: platform_name,
      platformVersion: platform_version,
      deviceName: device_name,
      newCommandTimeout: 3600,
      autoGrantPermissions: true,
      fullReset: true
    },
    appium_lib: {
      port: appium_port
    }
  }