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", );
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毫秒。
C#中appium自动化执行移动命令mobile:shell用法的更多相关文章
- Centos中使用Jenkins执行gulp命令:command not found
在Centos操作系统,使用Jenkins的pipeline执行发布流程:jenkinsfile如下: stage("前端项目构架gulp") { steps { dir('src ...
- java中使用Process执行linux命令
代码如下 BufferedReader reader = null; String cmd = "netstat -anp|grep :8080";//命令中有管道符 | 需要如下 ...
- vue项目中引入循环执行setInterval或者requestAnimationFrame的用法等
项目中循环计时处理某些方法的情况还是比较常见的,一般会用setInterval来处理,但是这个方法会似的页面卡顿等使用体验不好. 所以就使用浏览器提供的requestAnimationFrame方法, ...
- (C#)Appium自动化测试之mobile:shell输入法
1.ADB执行Shell命令 a.如果电脑上已装Appium,那么需要在高级设置里勾选 Relaxed Security. 如图: b.cmd命令行启动appium appium --rela ...
- Linux系统中切换用户身份su与sudo的用法与实例
日常操作中为了避免一些误操作,更加安全地管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到root用户的方式有:s ...
- appium自动化测试框架——在python脚本中执行dos命令
一般我们运行dos命令,会有两种需求,一种是需要收集执行结果,如ip.device等:一种是不需要收集结果,如杀死或开启某个服务. 对应的在python中就要封装两种方法,来分别实现这两种需求. 1. ...
- App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...
- shell脚本中切换用户执行相应的命令或者shell脚本的方法
通常在执行自动化过程中可能需要将root用户切换到其他用户进行执行,如:oralce 但是,执行的命令又要回到root用户下,继续执行root用户下的其他命令. 此时需要了解 su 命令中的参数 -c ...
- 解决idea中执行maven命令失败的问题
1.问题描述 如上图所示,在使用idea 里的maven命令执行项目打包时,有时候会报如下一个错误. -Dmaven.multiModuleProjectDirectory system proper ...
随机推荐
- ps aux | grep "svnserve" | cut -c 9-15 | xargs kill -9
ps aux | grep "svnserve" | cut -c 9-15 | xargs kill -9
- VirtualBox下安装Linux系统
Linux 开源的类Unix操作系统,拥有图形界面文字界面,旗下发行版不胜其数(Ubuntu.Deepin.CentOS...)在互联网公司中Linux服务器大多是用的CentOS系统,其他Linux ...
- [PTA] 数据结构与算法题目集 6-11 先序输出叶结点
//函数PreorderPrintLeaves应按照先序遍历的顺序输出给定二叉树BT的叶结点,格式为一个空格跟着一个字符. void PreorderPrintLeaves(BinTree BT) { ...
- linux初学者-虚拟机管理篇
linux初学者-虚拟机管理篇 之前已经介绍过,在linux系统的学习中,一般需要在虚拟机中进行操作,但是虚拟机是如何安装的呢?又是如何管理的呢?下文将对虚拟机的安装和管理进行一个简要的介绍. 1.虚 ...
- python List交集、并集、差集
工作中遇到了求两个集合的差集,但是集合集合中包含字典,所以使用difference方法会报错,看了一些别人的博客,整理了一下. 1. 获取两个list 的交集print list(set(a).int ...
- 转 python - Python在终端通过pip安装好包以后,在Pycharm中依然无法使用的解决办法
转 https://blog.csdn.net/kouyi5627/article/details/80531442 在终端通过pip装好包以后,在pycharm中导入包时,依然会报错.新手不知道具体 ...
- [学习笔记] pymysql入门
一.快速开始 对于会用MySQL的朋友来说,开始使用pymysql可以说真的so esay,只要用下面的代码,把想要对数据库的操作放在 sql = " " 里就可以了. 没有接触过 ...
- 一份关于.NET Core云原生采用情况调查
调查背景 Kubernetes 越来越多地在生产环境中使用,围绕 Kubernetes 的整个生态系统在不断演进,新的工具和解决方案也在持续发布.云原生计算的发展驱动着各个企业转向遵循云原生原则(启动 ...
- powermockito单元测试之深入实践
概述 由于最近工作需要, 在项目中要做单元测试, 以达到指定的测试用例覆盖率指标.项目中我们引入的powermockito来编写测试用例, JaCoCo来监控单元测试覆盖率.关于框架的选择, 网上讨论 ...
- .net持续集成测试篇之Nunit文件断言、字符串断言及集合断言
使用前面讲过的方法基本上能够完成工作中的大部分任务了,然而有些功能实现起来还是比较麻烦的,比如说字符串相等性比较不区分大小写,字符串是否匹配某一正则规则,集合中的每一个(某一个)元素是否符合特定规则等 ...