1. 脚本实现
脚本主要实现功能:
- 唤醒手机屏幕;
- 向上滑动解锁;
- 打开camera,等待预览完成;
- 拍照;
- 关闭camera;
- 手机息屏;
- 判断是否到达测试次数,未达到,继续循环执行;达到,测试结束。
友情提示:脚本中文字注释仅仅为了方便理解,使用时请删除文字注释部分
@echo off
adb root
adb remount
set /a cycle_num=1 /* 设置循环计数的初始值 */
:start /* 循环执行开始,结合后面goto start */
echo "Test open/close camera %cycle_num% times."
echo "light up the screen"
adb shell input keyevent 224 /* 手机息屏状态下,点亮手机屏幕;亮屏状态下也没有影响 */
adb shell sleep 2s
echo "slide to unlock"
adb shell input swipe 500 1000 500 500 /* 亮屏后滑动解锁,从(500, 1000)到(500, 500),不同手机坐标可能有差异, 获取坐标点的方式请看下文标题2《查询手机屏幕坐标点方法》 */
adb shell sleep 2s
echo "open camera"
/* 打开camera,不同手机camera代号不同,请先查询代号,详细方法见下文《查询camera服务代号》 */
adb shell am start org.codeaurora.snapcam /* 举例,一般高通原生camera代号为 org.codeaurora.snapcam*/
::adb shell am start com.motorola.camera3 /* 举例,摩托某款手机camera代号 */
adb shell sleep 5s
echo "take picture"
adb shell input keyevent 27 /* 拍摄一张照片 */
adb shell sleep 1s
echo "turn off the camera"
adb shell am force-stop org.codeaurora.snapcam /* 关闭相机,注意代号与前面一致 */
::adb shell am force-stop com.motorola.camera3 /* 关闭相机,注意代号与前面一致 */
adb shell sleep 2s
echo "turn off the screen"
adb shell input keyevent 223 /* 熄灭屏幕 */
adb shell sleep 1s
if %cycle_num% EQU 2 ( /* 判断循环测试是否等于2,可自己修改循环次数 */
goto end /* 跳转到:end */
) else (
set /a cycle_num=%cycle_num%+1 /* 循环次数变量+1 */
goto start /* 跳回最前面:start,重新执行脚本命令 */
)
:end /* 循环执行结束 */
echo "test end"
pause /* 暂停在命令窗口 */
2. 查询手机屏幕坐标点方法
2.1 启动手机开发者模式
1.打开设置
2.关于手机
3.版本号,快速点击多次即可看到提示进入开发者模式
2.2 开启并记录坐标点
点击屏幕,屏幕的最上方会显示当前的坐标,记录坐标点
3. 查询camera服务代号
adb root
adb remount
adb shell "top | grep cam"