【问题标题】:I can not start Appium with Xiaomi Redmi 4x我无法用小米红米 4x 启动 Appium
【发布时间】:2019-12-30 11:31:04
【问题描述】:

我正在尝试通过 appium 运行安装在手机上的应用程序,以获取屏幕上必要元素的 id。这些是我想要的功能:

当我尝试启动会话时,我收到以下错误:

这是我的 appium 日志

[ADB] Running 'C:\Users\Keksimus\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 16996ace7cf4 shell am force-stop io.appium.unlock'
[AndroidDriver] Not cleaning generated files. Add `clearSystemFiles` capability if wanted.
[BaseDriver] Event 'newSessionStarted' logged at 1566812265990 (12:37:45 GMT+0300 (Финляндия (лето)))
[MJSONWP] Encountered internal error running command: Error executing adbExec. Original error: 'Command 'C\:\\Users\\Keksimus\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe -P 5037 -s 16996ace7cf4 shell pm install -g /data/local/tmp/appium_cache/728413456b86856a2003edeb524d6bd577ca6418.apk' exited with code 1'; Stderr: 'Error: java.lang.SecurityException: You need the android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS permission to use the PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS flag'; Code: '1'
[MJSONWP] Error: Command 'C\:\\Users\\Keksimus\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe -P 5037 -s 16996ace7cf4 shell pm install -g /data/local/tmp/appium_cache/728413456b86856a2003edeb524d6bd577ca6418.apk' exited with code 1
[MJSONWP]     at ChildProcess.proc.on.code (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\teen_process\lib\exec.js:94:19)
[MJSONWP]     at ChildProcess.emit (events.js:182:13)
[MJSONWP]     at maybeClose (internal/child_process.js:961:16)
[MJSONWP]     at Socket.stream.socket.on (internal/child_process.js:380:11)
[MJSONWP]     at Socket.emit (events.js:182:13)
[MJSONWP]     at Pipe._handle.close [as _onclose] (net.js:596:12)
[HTTP] <-- POST /wd/hub/session 500 5494 ms - 619
[HTTP] 
[HTTP] --> DELETE /wd/hub/session
[HTTP] {}
[HTTP] No route found. Setting content type to 'text/plain'
[HTTP] <-- DELETE /wd/hub/session 404 4 ms - 57
[HTTP] 

我在网上翻了一堆页面,尝试将sdk更新到最新版本,尝试将platform-tools降级到28但没有解决问题。你有什么意见?

【问题讨论】:

  • 你在手机上开启开发者模式了吗?
  • @BrianO'Neill 是的。我尝试运行具有 100% 正确功能的新会话 { "deviceName": "Redmi", "appPackage": "com.miui.calculator", "appActivity": "com.miui.calculator.cal.CalculatorActivity", "platformName" : "Android", "platformVersion": "7.1.2" } 还是有这个错误
  • 好的。 USB调试已启用? (设置 -> 开发人员选项 -> 调试 -> USB 调试)。此外,当您执行“adb devices”时会发生什么。你的设备出现了吗?
  • 复制/粘贴“adb devices”命令的输出。
  • @BrianO'Neill 非常感谢。我打开了“USB 调试”,但没有打开“USB 调试(安全设置)”。这是 2 个不同的点

标签: android testing automated-tests appium


【解决方案1】:

小米 Redmi 4x 存在一个已知问题。启用 USB 调试选项并在设置中关闭安全选项后,您可以尝试以下选项。

根据Appium documentation,将autoGrantPermissions 添加到您的功能中,使用noReset 功能,如下所示:

autoGrantPermissions : true
noReset : true

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    相关资源
    最近更新 更多