官网:https://appium.readthedocs.io/en/latest/en/commands/mobile-command/#android
1、执行ADB shell命令(需要设置服务器标志 --relaxed-security
)
*appium桌面版,在高级设置中可勾选
*命令行启动appium,启动命令加上--relaxed-security。
appium --relaxed-security
2、相关执行代码介绍(C#)。
*adb命令切换com.android.adbkeyboard/.AdbIME输入法,以及对应代码
adb shell ime set com.android.adbkeyboard/.AdbIME
Dictionary<string, Object> args = new Dictionary<string, object>();
args.Add("command", "ime set");
args.Add("args", "com.android.adbkeyboard/.AdbIME");
args.Add("includeStderr", true);
args.Add("timeout", );
driver.ExecuteScript("mobile: shell", args );
*adb命令输入(输入中文必须安装ADBKeyboard.apk)
*https://github.com/senzhk/ADBKeyBoard
adb shell am broadcast -a ADB_INPUT_TEXT --es msg '输入文本内容'
Dictionary<string, Object> args = new Dictionary<string, object>();
args.Add("command", "am broadcast");
args.Add("args", "-a ADB_INPUT_TEXT --es msg '输入文本内容'");
driver.ExecuteScript("mobile: shell", args );
-
command:远程命令的名称。也可以是可执行文件的完整路径
。该参数是必需的。
- args:一个字符串数组,传递给shell命令的参数。
-
includeStderr:将此参数设置为to
true
,以便将stderr输出与stdout一起包含在返回的结果中。如果启用,则返回的结果将是包含相应字符串的键stdout
和stderr
键的映射,否则它只是一个简单的字符串。false
默认情况下。 - timeout:shell命令超时(以毫秒为单位)。如果命令需要更多时间来完成执行,那么将抛出异常。默认为20000毫秒。