Как я могу включить / выключить доступность через Appium с помощью JavaScript - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть команда adb shell для android и пробовал с терминалом, и она работает отлично.

Но не уверен, как использовать это в платформе с помощью команды appium.

// disable
adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService

// enable
adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService

Ответы [ 3 ]

0 голосов
/ 26 ноября 2018

Вы можете использовать mobile: shell в Appium для выполнения команд ADB :

Вы должны запустить сервер Appium с ключом безопасности: appium --relaxed-security

Затем вы делаете это следующим образом:

List<String> args = Arrays.asList(
   arg1,
   arg2,
   ...
   argN
);
Map<String, Object> yourCmd = ImmutableMap.of(
    "command", <adbCommand>,
    "args", args
);
driver.executeScript("mobile: shell", yourCmd);

Я не уверен насчет операции settings put, но pull / push / rm работает отлично.

0 голосов
/ 05 декабря 2018

это работает для меня.

const { exec } = require('child_process');

exec('adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService', (err, stdout, stderr) => {
        if (err) {
          return;
        }
});
0 голосов
/ 26 ноября 2018

Я могу использовать команду abd в Java следующим образом.Надеюсь, вам это тоже поможет.

String disable= "adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService"
String enable = "adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService"
try{
       Runtime.getRuntime().exec(disable); //to disable
   //    Runtime.getRuntime().exec(enable);  //to enable
}catch(Exception e){
      e.printStackTrace();
}
...