camera自动化测试脚本_02

本文介绍了如何编写一个脚本,用于测试手机重启后首次打开相机的功能,包括重启手机、连接adb、解锁屏幕、调用log抓取脚本、打开和关闭相机以及检查OIS初始化。脚本详细描述了每个步骤和相应的操作命令。
摘要由CSDN通过智能技术生成

背景描述

camera的整机老化测试中,有时候客户会要求测试每次开机后首次打开相机是否正常。手动打开相机会严重影响测试效率,所以编写次脚本用于测试。

1. 主要实现功能

1.1 重启手机,等待adb启动成功;
1.2 连接adb;
1.3 等待服务起来,因为adb启动时,app等各种服务还未完全启动,此时无法打开相机;
1.4 滑动解锁屏幕;
1.5 调用log抓取脚本;
1.6 打开相机;
1.7 切换相机到慢动作模式(会重新初始化ois)
1.8 切换相机到拍照模式(再次重新初始化ois)
1.9 关闭相机
1.10 判断是否到达测试次数

2. 脚本实现

中文注释部分是为了方便理解添加的,运行脚本时请删除中文注释,防止运行异常
为方便使用,附件中已经上传脚本文件,该脚本在实际项目中实测可用

2.1 adb_reboot_open_camera.bat

@echo off //执行命令在命令行不显示,删除该行,所有命令会在命令窗口显示
set /a var=1 //设置变量,方便后续计数进行测试测试判断

:start //循环运行的起始点
echo "---restart the phone---"
adb reboot

echo "---waiting for the adb connection---"
adb wait-for-device //脚本停留在此,等待adb启动

echo "---waiting for servce to start---"
adb shell sleep 12 //延时时间根据手机大概估测

echo "---get permissions---"
adb root
adb remount

echo "--- slide to unlock screen ---"
adb shell input swipe 550 2150 550 1200 //从坐标点(550,2150)滑动到(550,1200),具体坐标值请在开发者模式下查看,上一篇文档《camera自动化测试脚本_01》有相关介绍
adb shell sleep 1

echo "--- call logcat.bat ---"
start "" cmd /k call logcat_open_camera.bat //调用抓取log的脚本,两个脚本放在同一目录中
adb shell sleep 1

echo "--- turn on the camera ---"
adb shell am start com.motorola.camera3 //打开相机,服务号com.motorola.camera3需要查看修改,具体方法在《camera自动化测试脚本_01》有相关介绍
adb shell sleep 3

echo "--- switch mode ---"
adb shell input tap 138 1890 //点击坐标(138, 1890),摩托样机对应的是切换慢动作,此时会重新初始化ois
adb shell sleep 1

echo "--- switch photo modes ---"
adb shell input tap 950 1880 //点击坐标(950, 1880),摩托样机对应的是切换拍照模式,此时会重新初始化ois
adb shell sleep 1

echo "--- turn off the camera ---"
adb shell am force-stop com.motorola.camera3 //关闭相机,服务号必须跟开启相机时保持一致

//如果循环次数不等于2000,满足条件,跳转到脚本开头的start处
if %var% NEQ 2000 (
	set /a var=%var%+1
	goto start
)

echo "########### test end ###########"

pause

2.2 logcat_open_camera.bat

@echo off
echo "enter logcat bat"

//获取当前时间
set Y=%DATE:~0,4%
set M=%DATE:~5,2%
set D=%DATE:~8,2%

set H=%TIME:~0,2%
set MI=%TIME:~3,2%
set S=%TIME:~6,2%

set time=%Y%_%M%_%D%_%H%_%MI%_%S%

//打印空行,并保存在文件中
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo=>>mot_aw86006_reboot_open_camera.txt
echo "######################### Current time: %time% ############################################">>mot_aw86006_reboot_open_camera.txt
adb shell "logcat | grep CAM-OIS">>mot_aw86006_reboot_open_camera.txt

exit //adb断开后会自动关闭调试窗口,必须要添加,否则每次调用该脚本都会打开一个窗口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值