Android自动化----adb shell,appium,uiautomator2
1、区别
1,adb shell脚本的方式 不但可以在有电脑的情况下使用,通过数据线连接电脑然后adb shell命令,而且还可以打包成app,在手机的终端使用adb shell命令。
2,appium还有 uiautomator2都必须使用电脑,写好的脚本在电脑上执行,电脑相当于服务器端,手机相当于客户端。
3,电脑上执行adb shell命令的权限好像比手机高,比如执行getevent命令,在电脑可以直接使用,而在手机的shell终端却必须提升权限到root(su命令)。
adb shell脚本命令
注意:
1.不是adb命令而是adb shell中的命令,这种命令才能在手机端执行,而adb命令需要在电脑端实行。
2.Android也是linux系统,所以Linux系统几乎的所有命令也是可以使用的
如何获取adb
去Android sdk 官网,注意下载平台工具,而sdk tools与这个不同。在sdk tools 中还有调试的其他的工具,比如根据截图来定位的uiautomatorview。

adb shell命令:http://adbshell.com/ 去官网比对。
adb shell的自动化命令:
Android自动化----adb shell,appium,uiautomator2的更多相关文章
- Android 执行 adb shell 命令
Android 执行Adb shell 命令大多需要root权限,Android自带的Runtime. getRuntime().exec()容易出错,在网上找到了一个执行adb shell命令的类 ...
- Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息 by:授客 QQ:1033553122 1. 查看内存信息 1)查看所有内存信息 命令: dumpsys mem ...
- appium+python自动化-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- appium+python自动化 adb shell按键操作
前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两 ...
- appium+python自动化-adb shell按键操作(input keyevent)
前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两 ...
- android自动化のadb常用命令(不定期更新)
1. adb devices 执行结果是adb为每一个设备输出以下状态信息:序列号(serialNumber) — 由adb创建的使用控制台端口号的用于唯一标识一个模拟器或手机设备的字符串,格式是 & ...
- Android:adb shell 命令详解
安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机“/system/bin”的目录下,通过adb shell 便可以调用这些命令. 进入“/system/bin”该 ...
- 【Android】-- adb shell 命令探索
ADB是什么,做android开发的没有不知道的. window下执行cmd,输入adb help就会打印adb都可以做的事情,包含 adb push ..adb pull .. adb device ...
- Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
1. 查看内存信息 1)查看所有内存信息 命令: dumpsys meminfo 例: C:\Users\laiyu>adb shell shell@android:/ $ dumpsys m ...
随机推荐
- leetcode653
class Solution { public: bool findTarget(TreeNode* root, int k) { queue<TreeNode> Q; vector< ...
- sql基本查询语句练习
student(S#,Sname,Sage,Ssex) 学生表 S#:学号: Sname:学生姓名:Sage:学生年龄:Ssex:学生性别 Course(C#,Cname,T#) 课程表 ...
- No bean class specified on bean definition 解决方案
调试Spring项目出现No bean class specified on bean definition异常 但是控制台并没有给出其他相关信息了 这个时候可以在AbstractBeanDefini ...
- bzoj2751 容易题
传送门 题目 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取哪些值,我 ...
- 100741A Queries
传送门 题目 Mathematicians are interesting (sometimes, I would say, even crazy) people. For example, my f ...
- 9.Delegate类
Concepts 不像MVC模式,Model/View模式并没有单独用来处理事件和用户交互的组件(controller).通常,视图负责向用户呈现模型中的数据,并处理用户的输入.有时,为了让 ...
- 有三个线程,a、b、c,a打印“T1”,b打印“T2”,c打印“T3”,a执行完后,b执行;b执行完后,c执行。如此循环100遍
有三个线程,a.b.c,a打印“T1”,b打印“T2”,c打印“T3”,a执行完后,b执行:b执行完后,c执行.如此循环100遍. package com.company; /** * 测试三个线程协 ...
- 【Android学习】Merge 优化布局
<merge />标签用于减少View树的层次来优化Android的布局 新建项目,不需要改动 运行后使用“DDMS -> Dump View Hierarchy for ...
- xe6 android控件透明度设置方法
今天才知道xe6 android控件的透明度设置方法:只需设置控件中的Opacity参数,默认为1--不透明 panel1.Opacity:=0.60;
- MVC下为什么要使用Areas
想研究一下这个Areas,在博客园知识库找到这篇文章,先全部搬过来吧,原文地址:http://kb.cnblogs.com/page/144561/ 为什么需要分离? 我们知道MVC项目各部分职责比较 ...