簡體   English   中英

如何使用 Appium 自動接受警報 — 權限 Android 6.0

[英]How to automatically accept Alerts with Appium — permissions Android 6.0

環境:

  • 操作系統 Windows 7
  • Appium 1.4.16.1
  • 安卓模擬器6.0

我需要自動接受任何權限警報(Android 6.0 -- 短信、位置等)。

我試過的:

  1. 使用driver.switchTo().alert().accept();

    結果:

    org.openqa.selenium.WebDriverException: Not yet implemented. Please help us: http://appium.io/get-involved.html

  2. 設置capabilities

    capabilities.setCapability("autoGrantPermissions", "true"); capabilities.setCapability("autoAcceptAlerts", "true");

    結果:不起作用

它在 appium 中不起作用。如果您的警報包含“允許”按鈕。嘗試使用以下代碼:

driver.findElementByAccessibilityId("ALLOW").click();

這將單擊“允許”按鈕,這意味着接受警報。

它肯定對你有用。

DesiredCapabilities cap=new DesiredCapabilities();
cap.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS,true);

在啟動應用程序之前,您可以向應用程序授予所有必需的權限。 以下是所需權限的命令列表。 您可以通過 Java 代碼執行這些命令。

    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.READ_EXTERNAL_STORAGE
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.WRITE_EXTERNAL_STORAGE
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.ACCESS_FINE_LOCATION
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.CAMERA
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.READ_CONTACTS
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.WRITE_CONTACTS
capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);

它確實有效。

你可以試試。

只需將'autoGrantPermissions': 'true',添加到您想要的功能中!

請注意! 這將自動接受所有適用的權限,並且僅對 android 系統權限有效。 不適用於應用自定義開發權限。

嘗試添加功能: 'autoGrantPermissions': 'true',

有同樣的問題,這為我解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM