官网: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", 20000); 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毫秒。
