C#中appium自动化执行移动命令mobile:shell用法


官网: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 ); 
View Code

   *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 ); 
View Code
  • command:远程命令的名称。也可以是可执行文件的完整路径该参数是必需的。
  • args:一个字符串数组,传递给shell命令的参数。
  • includeStderr:将此参数设置为to true,以便将stderr输出与stdout一起包含在返回的结果中。如果启用,则返回的结果将是包含相应字符串的键stdoutstderr的映射,否则它只是一个简单的字符串。false默认情况下。
  • timeout:shell命令超时(以毫秒为单位)。如果命令需要更多时间来完成执行,那么将抛出异常。默认为20000毫秒。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM