adb 命令 monkey命令<搬代码>

adb 命令 monkey命令

adb命令:
1.安装安卓模拟器,通过连击版本号,可以获得开发者模式,在开发者模式里点击usb连接,模拟器一定是启动状态
2.打开cmd输入:adb devices 检查连接到手机的状态
3.连接模拟器:模拟器的ip是127.0.0.1端口号是62001
4.输入adb connect 127.0.0.1:62001 回车
5.查看连接的设备有几个: adb devices
6.查看设备连接状态:adb get-state
出现offine设备连接异常,devices正常 unknown没有连接设备
7.查看日志adb logcat 查看手机日志,ctrl+c 可以结束日志不断进行
如果不指定输出缓冲区的日志,默认输出main和system的日志,如果需要指定。则使用:
adb logcat -b指定缓冲区 如: adb logcat -b mian
也可以输出到文件: adb logcat -b mian >e:test.log

adb logcat -c -c 是清除日志
adb bugreport 输出日志包扣logcat日志,同时也包扣功耗,cpu等信息日志
8.给手机安装软件:adb install xxx.apk-----为了获取apk的安装包所在地址,可以直接把apk拖到cmd窗口,返回success就说名安装成功了
9.adb shell pm list packages 查看所有的应用的包名
adb shell dumpsys activity 查看当前活动的包的信息

adb shell dumpsys window | findstr mCurrentFocus 查看正在运行的包名
adb shell dumpsys activity | find “,FocusedActivity” --查看前台应用包名
上面两个命令都可以查看正在运行的包名

9.卸载软件:adb uninstall com.tencent.qqmusic.apk
在这里插入图片描述
如何连接真机呢?
步骤如下:
1.手机数据线连接电脑
2.打开adb使用命令

adb tcpip 5555     5555也可以变成6666随便怎么设置

3.拔掉数据线,查看地址,打开手机【设置】-【WLAN】-点击【连接的wifi】-有一个【ip】就可以看到ip地址了
也可以通过adb devices来看到
4.使用命令adb connect 192.168.31.15 回车
出现下面这种情况就是连接上了
03
04
02
连接上之后试验一下,安装一个apk。或者截图,如下
adb截图命令
adb shell screencap

输入以下命令进行截屏。
adb shell screencap /sdcard/screen1.png
将截图上传到PC的E盘,已创建目录E:\需求
adb pull /sdcard/screen1.png E:\需求
01

adb远程摄像机:

点亮屏幕:
adb -s 192.168.31.14:5555 shell input keyevent 224
解锁屏幕:
adb -s 192.168.31.14:5555 shell input keyevent 82
点击屏幕:
adb -s 192.168.31.14:5555 shell input tap 300 500
向上滑屏:
adb -s 192.168.31.14:5555 shell input swipe 300 500 300 50
截图
adb -s 192.168.31.14:5555 shell screencap /sdcard/screen1.png
启动相机
adb -s 192.168.31.14:5555 shell am start -a android.media.action.STILL_IMAGE_CAMERA
打开前置摄像头
adb -s 192.168.31.14:5555 shell am start -a android.media.action.IMAGE_CAPTURE --ei android.intent.extras.CAMERA_FACING 1
打开后置摄像头
adb -s 192.168.31.14:5555 shell am start -a android.media.action.IMAGE_CAPTURE --ei android.intent.extras.CAMERA_FACING 0
camera键 拍照
adb -s 192.168.31.14:5555 shell input keyevent 27
back键 暂退相机
adb -s 192.168.31.14:5555 shell input keyevent 4
锁屏
adb -s 192.168.31.28:5551 shell input keyevent KEYCODE_POWER

monkey命令 基本参数

  1. adb shell monkey 100
    执行monkey测试100次,是在手机上随机点的

  2. -p《指定包名运行》
    adb shell monkey -p com.example.login 100

  3. 显示日志程度
    adb shell monkey -p com.example.login -v 100
    adb shell monkey -p com.example.login -v-v 100
    adb shell monkey -p com.example.login -v-v-v 100
    三种级别-v-v-v最详细

  4. monkey日志分析
    将log信息写到文档中
    adb shell monkey -p com.example.login -v-v-v 100 > E:\e.log

正常情况, 如果Monkey测试顺利执行完成, 在log的最后, 会打印出当 前执行事件的次数和所花费的时间; // Monkey finished 代表执行完成\

到e盘中查看e.log。第一行有一个seed=值,他是随机数种子,可以复现bug的seed后的值 如:seed=11125552
adb shell monkey com.example.login -v-v-v -s 11125552 100 > e:\e2.log
e和e2执行内容一样

例如:
monkey测试1:adb shell monkey -p com.shjt.map –s 10 100
monkey测试2:adb shell monkey -p com.shjt.map –s 10 100
两次结果一样
5. --throttle <毫秒>
用亍指定用户操作(即事件)间的时延,单位是毫秒;如果不指定这个参数,monkey会尽可能快的 生成和发送消息。
例:adb shell monkey -p com.example.login --throttle 300 100
表示执行100个伪随机用户事件流,事件间隔为300毫秒。
注:一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件。

  1. –pct-touch
    调整触摸事件的百分比。(触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作)
    –pct-touch:触摸事件。即在某一位置的Down-Up(手指的放下和抬起)事件。Down(ACTION_DOWN)和Up(ACTION_UP)的坐标临近,但并非相同。
    如:adb shell monkey -pct-touch 67 -v 10
    表示执行10个伪随机用户事件流,并调整其中触摸事件的百分比为67%。
    注:此参数设置要适应当前被测应用程序的操作,比如一个应用80%的操作都是触摸,那就可以将此参数的百分比设置成相应较高的百分比。

7.–pct-motion
调整motion事件百分比。(motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成)
–pct-motion:动作事件。以Down(ACTION_DOWN)开始,Up(ACTION_UP)结尾,中间至少有一次Move(ACTION_MOVE)。
如:adb shell monkey -pct-motion 67 -v 10
表示执行10个伪随机用户事件流,并调整其中动作事件的百分比为67%。
注:这里的移动是直线滑动
7. --ignore-crashes 设置后崩溃异常时monkey不停止
作用:通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
正常操作,不忽略异常
8. --ignore-timeouts(ANR)设置后发生任何超时错误monkey不会停止

7,8如:adb shell monkey -p com.example.login --ignore-crashes --ignore-timeouts -v-v-v 100 > E:\e3.log 2>&1 &
1. -p后面接着的对应的包名,如果是整机测试,就不需要 -p package_name
2. -s后面是对应的种子数,好像就是操作步骤,根据她们测试的经验,一般种子数在23,同步她们测试的结果,一般种子的个数固定为23,和她们选择的操作步骤就是同步的。
3. --ignore-crashes --ignore-timeouts 这里是在monkey测试的过程中遇到carash或者timeout的情况时忽略掉,一般不设置时,出现carash或者timeout时,Monkey测试会终止。这里是防止Monkey测试终止。
4. -v 指的是Monkey测试时打印log级别。
5. 100000 这里是指点击的次数,根据她们测试的经验,对于单个应用程序这个次数设置在100000次就可以了;如果是整机,一般设置在500000次。
/data/local/tmp/log.txt测试的log记录在手机上/data/local/tmp/ 下面的log.txt里面,这个名字可以自己写。
6. 2>&1 固定的写法,这个也很重要,代表的意思是中间忽略的东东的日志一并输入到指定的文件中。

    7.   最后单独的一个"&" 是一旦Monkey测试开始了,之后可以拔掉数据线,不会影响Monkey测试。

    8.   测试所有模块  monkey  -s 23 --ignore-crashes --ignore-timeouts -v-v -v 100000> /data/local/tmp/log.txt 2>&1 &
    9. adb shell monkey -p com.example.login --ignore-crashes --ignore-timeouts --throttle 100 --pct-touch 50 --pct-motion 50 -v -v 1000 >c:\login\c.txt

在这里插入图片描述
上下对比学习
在这里插入图片描述
给手机短信编写内容
adb -s 192.168.31.23:5552 shell am start -a android.intent.action.SENDTO -d sms:手机号 --es sms_body “jma”
adb -s 192.168.31.11:5555 shell am start -a android.intent.action.SENDTO -d sms:13322220000 --es sms_body “救命啊救命啊”
也可以不屑手机号也能发送
adb -s 192.168.31.11:5555 shell am start -a android.intent.action.SENDTO -d sms: --es sms_body “救命啊救命啊”
jma
adb启动某个app
adb -s 192.168.31.11:555 shell am start 包名/启动项
包名:package: name=后面的
122

启动项:launchable-activity: name=后面的
123

adb -s 192.168.31.23:5552 shell am start NI0073DE1/.PandoraEntry
然后app就起来了

获取内部版本号: adb shell getprop ro.build.display.innerver
获取按键值: adb shell getevent
获取apk信息: adb shell dumpsys package 包名 ->info.txt
获取应用包名:adb shell dumpsys window windows | grep mFocusedApp 或者 adb shell dumpsys window windows | findstr mFocusedApp
打开WiFi设置界面:adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
打开热点设置界面:adb shell am start -n com.android.settings/.TetherSettings
查询蓝牙是否开启:
adb shell settings get global bluetooth_on 返回结果0代表关闭,1代表开启
adb shell dumpsys bluetooth_manager | findstr enabled 返回结果是true或者false,说明开启或关闭
查询WiFi是否开启:adb shell settings get global wifi_on 返回结果0代表关闭,1代表开启
查询蓝牙地址:adb shell settings get secure bluetooth_address
查询WiFi地址:adb shell cat /sys/class/net/wlan0/address
开启WiFi:adb shell svc wifi enable
关闭WiFi:adb shell svc wifi disable
打开蓝牙设置界面:adb shell am start -a android.settings.BLUETOOTH_SETTINGS
获取手机休眠时间:adb shell settings get system screen_off_timeout
更改手机休眠时间:adb shell settings put system screen_off_timeout 600000(10分钟)
获取系统默认输入法:adb shell settings get secure default_input_method
获取手机是否为自动亮度:adb shell settings get system screen_brightness_mode (0代表非自动,1代表为自动)
设置手机为自动调整亮度:adb shell settings put system screen_brightness_mode 1
获取手机当前亮度:adb shell settings get system screen_brightness
设置手机亮度(0-255):adb shell settings put system screen_brightness 350
打开定位设置界面:adb shell am start -a android.settings.LOCATION_SOURCE_SETTINGS
开启定位:adb shell settings put secure location_providers_allowed +gps
关闭定位:adb shell settings put secure location_providers_allowed -gps
查看定位方式:adb shell settings get secure location_providers_allowed (前提是位置信息开启)
拨打电话:adb shell am start -a android.intent.action.CALL tel:8888888888888
发送短信:adb shell am start -a android.intent.action.SENDTO -d sms:10086(发送目的号码) --es sms_body “hello”(短信内容) --ez exit_on_sent true
获取应用包名:adb shell dumpsys window windows | findstr mFocusedApp
清除应用数据与缓存: adb shell pm clear cn.com.test.mobile
启动应用: adb shell am start -n cn.com.test.mobile/.ui.SplashActivity
停止应用:adb shell am force-stop cn.com.test.mobile
飞行模式:adb shell settings set global airplane_mode_on (0关闭,1开启)
开启飞行模式:adb shell settings put global airplane_mode_on 1
手机震动测试(前提手机root):①adb shell ②echo ‘3000’>/sys/devices/virtual/timed_output/vibrator/enable
向上滑:adb shell input touchscreen swipe 930 880 930 380
向下滑:adb shell input touchscreen swipe 930 380 930 880
向右滑:adb shell input touchscreen swipe 330 880 930 880
向左滑:adb shell input touchscreen swipe 930 880 330 880
模拟鼠标点击操作:adb shell input mouse tap 100 500
长按:adb shell input swipe startX startY startX startY 500
滑动解锁:adb shell input swipe 300 1000 300 500
冷启动app:adb shell am start -W -n package/activity
热启动:①停止app: adb shell input keyevent 3 ②adb shell am start -W -n package/activity
查看内存占用情况:adb -s 设备号 shell top -m 进程数量 -n 数据的刷新次数 -s 按哪列进行排序 -d 刷新时间间隔(默认5秒)
切换手机电池为非充电状态: adb shell dumpsys battery set status 1
改变手机电量: adb shell dumpsys battery set level 58
获取当前电量:adb shell cat /sys/class/power_supply/battery/capacity
手机截屏:adb shell /system/bin/screencap -p /sdcard/screenshot.png
录制屏幕:adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
获取手机型号:adb shell getprop ro.product.model
获取电池信息:adb shell dumpsys battery
获取屏幕分辨率:adb shell wm size
获取屏幕密度:adb shell wm density
显示屏参数:adb shell dumpsys window displays
获取手机IP地址:adb shell ifconfig | findstr Mask
查看WiFi局域网地址:adb shell ifconfig wlan0
显示区域位置:adb shell wm overscan 0,0,0,200 (四个数字分别表示距离左、上、右、下边缘的留白像素,以上命令表示将屏幕底部 200px 留白)
恢复原显示区域命令:adb shell wm overscan reset
获取USB调试模式:adb shell settings get global adb_enabled
关闭USB调试模式:adb shell settings put global adb_enabled 0
状态栏和导航栏的显示隐藏:
adb shell settings put global policy_control
可由如下几种键及其对应的值组成,格式为 =:=。
immersive.full----------同时隐藏
immersive.status----------隐藏状态栏
immersive.navigation----------隐藏导航栏
immersive.preconfirms----------?
这些键对应的值可则如下值用逗号组合:
apps----------所有应用
----------所有界面
packagename----------指定应用
-packagename----------排除指定应用
例如:
adb shell settings put global policy_control immersive.full=
表示设置在所有界面下都同时隐藏状态栏和导航栏。
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
表示设置在包名为 com.package1 和 com.package2 的应用里隐藏状态栏,在除了包名为 com.package3 的所有应用里隐藏导航栏。
打开网页: adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com
查看通信日志 :adb logcat -b radio (常用于查看详细的通话状态)
获取界面控件:adb uiautomator dump
列出输入法:adb shell ime list -s
永不休眠:adb shell settings put system screen_off_timeout 2147483647
关闭\打开自动旋转:adb shell settings put system accelerometer_rotation 0\1
ADB命令启动WiFi
初始操作:
insmod /system/lib/modules/wlan.ko //加载驱动模块
start wpa_supplicant //启动wpa_supplicant

扫描热点:

wpa_cli -iwlan0 scan
wpa_cli -iwlan0 scan_results

添加热点:

wpa_cli -iwlan0 add_network 0
wpa_cli -iwlan0 set_network 0 ssid “360wifi”
wpa_cli -iwlan0 set_network 0 psk “123456”
wpa_cli -iwlan0 save_config

wpa_cli -iwlan0 add_network 1
wpa_cli -iwlan0 set_network 1 ssid “360wifi2”
wpa_cli -iwlan0 set_network 1 psk “000000”
wpa_cli -iwlan0 save_config

连接wifi:
wpa_cli -iwlan0 list_network //列出可用wifi
wpa_cli -iwlan0 select_network 0 //选择第0个热点
wpa_cli -iwlan0 enable_network 0 //使能第0个热点
dhcptool wlan0 //启用动态地址分配

断开wifi:
ifconfig wlan0 down
killall wpa_supplicant

删除已保存热点:
wpa_cli -iwlan0 list_network
wpa_cli -iwlan0 remove_network 0 //删除第0个热点
wpa_cli -iwlan0 save_config

其他:

保存的热点信号存储在路径/data/misc/wifi/wpa_supplicant.conf

start wpa_supplicant启动的服务在如下:
device/qcom/common/rootdir/etc/init.qcom.rc

service wpa_supplicant /system/bin/wpa_supplicant
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf
-I/system/etc/wifi/wpa_supplicant_overlay.conf
-O/data/misc/wifi/sockets -dd
-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0

we will start as root and wpa_supplicant will switch to user wifi

after setting up the capabilities required for WEXT

user wifi

group wifi inet keystore

class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot

  • 24
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值