java.lang.SecurityException: очистка пользовательских данных adb запрещена. ';Код: «1» - PullRequest
0 голосов
/ 22 декабря 2018

У меня возникает эта ошибка:

java.lang.SecurityException: adb clearing user data is forbidden.'; Code: '1'

при запуске приведенного ниже кода на appium сервере в android 8.1.0 (oreo), но тот же код работает нормально в android 5.1 (lollipop).Отладка USB уже включена в мобильном телефоне.Кто-нибудь знает, почему я нажимаю эту ошибку? `

package appium;
@BeforeTest

        public void setcapbilities() throws Exception
{

    DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability("deviceName","Vipul");
    cap.setCapability(CapabilityType.VERSION,"8.1");
    cap.setCapability("platformName","Android");
    cap.setCapability("appPackage","com.android.calculator2");
    cap.setCapability("appActivity","com.android.calculator2.Calculator");
    driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);
    driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
}

@Test
public void  firstt()
{
    driver.findElement(By.xpath("//android.widget.Button")).click();
    driver.findElement(By.xpath("7")).click();
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}

@AfterTest
public void kill()
{
    driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
    driver.quit();
}

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Не обязательно, если что-то работает в andorid v5 , то оно также должно работать на android v8

Причина

Чтобы сделать устройства более безопасными, последние версии Android налагают ограничения на некоторые уже работающие API.

Например, вы можете включить режим полета с помощью Appium API на мобильных устройствах до Android V6 , начиная с Android V7 и далее этот API был заблокирован.

Решение

при просмотре вашего кода создается впечатление, что сеанс должен быть созданУспешно, единственное, что вам нужно позаботиться, это как сделать ваш тест успешным.Может быть, вам нужно изменить свой Xpath в соответствии с пользовательским интерфейсом для Android V8.

Вы пытались проверить этот Xpath в APPIUM Desktop?

https://automationlab0000.wordpress.com/2018/12/31/appium-desktop-for-locating-elements/

0 голосов
/ 07 января 2019

Есть несколько указателей, с помощью которых вы можете попытаться решить возникшую проблему.

Во-первых, используйте последний стабильный сервер Appium и Java-клиент.

Во-вторых, используйте AndroidDriver <MobileElement> вместоRemoteWebDriver.Поскольку AndroidDriver расширяет RemoteWebDriver через AppiumDriver, он должен переопределить функциональность метода quit.

В-третьих, вам не нужно везде вызывать неявное ожидание.Вы должны вызвать его один раз в своем методе настройки.

Далее, обновите Android SDK и инструменты до последней версии.

...