常用命令

adb shell "uiautomator dump --compressed && cat /sdcard/window_dump.xmlinput text abcinput text 123input tap 1000 600input text 123input tap 1000 600input swipe 100 1500 800 500                        input swipe 100 1500 800 500input swipe 100 1500 800 500input swipe 100 1500 800 500

注释
#以后的语句,shell不会解析
多行注释可以考虑采用:<<
传参

$0:表示执行的程序,是相对于执行目录的路径
$1、$2、$3:便是第几个参数,默认shell只支持9个参数,使用shift可以传递更多的参数
@ 、 @、 @:表示所有的参数,不含$0
KaTeX parse error: Expected '}', got '#' at position 2: {#̲*}和{#@}表示位置参数的个数
通过 ∗ : 1 : 3 , {*:1:3}, :1:3,{
.$#}来表示多个参数

函数

[function]name(){...}

Function 可以省略。除了可以在脚本文件中使用函数外,还可以在shell中定义。这些定义会在本次shell结束后消失。
如果没有return,返回值是最后一句指令的返回值。

安装Android SDK,找到adb服务

启动一个模拟器adb devicesadb shelltop | 筛选条件
top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]    -m num  Maximum number of processes to display.    -n num  Updates to show before exiting.    -d num  Seconds to wait between updates.    -s col  Column to sort by (cpu,vss,rss,thr).    -t      Show threads instead of processes.    -h      Display this help screen.

执行
调试

实际案例
封装函数

click(){adb shell input tap $( adb shell "uiautomator dump --compressed && cat /sdcard/window_dump.xml"  | sed 's# | tr ^ '\n' | grep "$@"  | awk -F '\\[|\\]|,' '{print ($(NF-2)+$(NF-5))/2, ($(NF-1)+$(NF-4))/2 }')}send_keys(){adb shell input text "$@"}swipe(){size=$(adb shell wm size)start=$(echo "$size" | awk -v x=$1 -v y=$2 -F ' |x' '{print $(NF-1)*x, $NF*y}')end=$(echo "$size" | awk -v x=$3 -v y=$4 -F ' |x' '{print $(NF-1)*x, $NF*y}')adb shell input swipe $start $end}

执行脚本

#摩拜的登录自动化localhost:~ seveniruby$ click 摩拜单车localhost:~ seveniruby$ click 请输入手机号localhost:~ seveniruby$ sendsend_keys  sendmaillocalhost:~ seveniruby$ send_keys 11111111localhost:~ seveniruby$ click 请输入验证码localhost:~ seveniruby$ send_keys 1234localhost:~ seveniruby$ click '"确定"#滑动摩拜的地图localhost:~ seveniruby$ swipe 0.1 0.8 0.9 0.3localhost:~ seveniruby$ swipe 0.1 0.8 0.9 0.3localhost:~ seveniruby$ swipe 0.9 0.8 0.1 0.3localhost:~ seveniruby$ swipe 0.9 0.8 0.1 0.3

更多相关文章

  1. Android(安卓)圆形图圆形ImageView
  2. android 百度地图sdk v3.4 绘制历史轨迹
  3. Android(安卓)CreateBitmap
  4. AndroidX RecyclerView总结-测量布局
  5. android 中 Timer 的使用及源码分析
  6. android中回调函数
  7. android启动之SystemServer启动
  8. android 睡眠和唤醒过程
  9. Android启动过程 && Activity的生命周期 && Activity的开机自启

随机推荐

  1. android xml 常用控件介绍
  2. android 创建动态创建菜单(钩子)
  3. android 开启本地相册选择图片并返回显示
  4. 如何解决:Android中 Error generating fin
  5. Android横竖屏切换解决方案
  6. Android的安装和配置【Z】
  7. Android生成keystore是报错拒绝访问
  8. Received status code 400 from server:
  9. Android helloword demo程序不能运行
  10. Android(安卓)RecyclerView简单运用