GMS认证
一、lunch桌面的google应用排序要求:
Google apps folder should contain applications in the following order from left to right; top to bottom.
Google Chrome, Gmail, Google+, Google Maps, Google Play Music, Google Play Movies, Google Play Books, Google Play Newsstand, Google Play Games, Google Drive, YouTube, Google Plus Photos, Hangouts
二、 测试命令
1)全量测试:
1 |
run cts –plan CTS |
2) fail项测试:
1 2 |
l r run cts –continue-session session ID |
3)单测试某个case:
a.run cts -c class name -m case name
比如:
1 |
run cts -c android.hardware.cts.CameraGLTest -m testCameraToSurfaceTextureMetadata |
b. run cts -t class name#case name ,
如:
1 |
run cts -t android.hardware.cts.CameraGLTest#testCameraToSurfaceTextureMetadata |
4)测试一个包:
a. run cts -c class name; 比如:
1 |
run cts -c android.hardware.cts.CameraGLTest |
b. run cts -p class name,
比如:
1 |
start --plan CTS -p android.hardware.cts.CameraGLTest |
5)fail项测试:
1 2 |
add derivedplan -r fail -s 0 -p xie//导出fail项 run cts --plan xie//测试fail项 |
三、 CTS_fail总结
1)android.view.accessibility.cts.AccessibilityManagerTest
-- testAddAndRemoveAccessibilityStateChangeListener fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testGetAccessibilityServiceList fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testGetEnabledAccessibilityServiceList fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testGetEnabledAccessibilityServiceListForType fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testGetInstalledAccessibilityServicesList fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testInterrupt fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testIsTouchExplorationEnabled fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testSendAccessibilityEvent fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
-- testAndroidTestCaseSetupProperly fail junit.framework.AssertionFailedError: Accessibility should have been enabled by the test runner. expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50)
android.view.accessibility.cts.AccessibilityServiceInfoTest
-- testAccessibilityServiceInfoForEnabledService fail junit.framework.AssertionFailedError: There should be one speaking service. expected same:<1> was not:<0> at junit.framework.Assert.fail(Assert.java:50)
首先确认手机是否是低内存的,如果是请关闭内存优化:
修改:ProjectConfig.mk
修改记录:
-CONFIG_LOWMEMORY = yes
+CONFIG_LOWMEMORY = no
2)testBatchScan
android.bluetooth.cts.BluetoothLeScanTest
-- testBatchScan fail junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48)
-- testOpportunisticScan fail junit.framework.AssertionFailedError: Scan results shouldn't be empty at junit.framework.Assert.fail(Assert.java:50)
-- testScanFilter fail junit.framework.AssertionFailedError: Scan results shouldn't be empty at junit.framework.Assert.fail(Assert.java:50)
该项测试是测试bluetooth的需要测试环境要包含三个或者三个以上的BLE设备,一般也可以安装apk来模拟BLE设备。
3)test4_1MeasurePeakRms
android.media.cts.VisualizerTest
-- test4_1MeasurePeakRms fail junit.framework.AssertionFailedError: peak deviation in mB=2797 at junit.framework.Assert.fail(Assert.java:50)
-- test4_2MeasurePeakRmsLongMP3 fail junit.framework.AssertionFailedError: peak deviation in mB=2813 at junit.framework.Assert.fail(Assert.java:50)
关闭besloundness再测试,这个菜单位于Settings/sound¬ification/sound enhancement ,默认是开启的。
Note:
xxxxx的DRC(BesLoudness)会在AudioEffect之前处理。该CTS测试项会在AudioEffect中取出data并计算PeakRms。由于DRC会对gain值产生影响,而CTS测试对gain值有所限制,所以BES_LOUDNESS_MUSICDRC_SB_GAIN会影响最终CTS测试的结果。
4)testLiveWallpaperFeature
android.app.cts.SystemFeaturesTest
-- testLiveWallpaperFeature fail junit.framework.AssertionFailedError: PackageManager#hasSystemFeature should return true for android.software.live_wallpaper at junit.framework.Assert.fail(Assert.java:50)
从问题上可以看出是需要判定需要设置android.software.live_wallpaper为真,修改:
packages/wallpapers/LivePicker/ android.software.live_wallpaper.xml文件修改为真。
5)testCameraFeatures
android.app.cts.SystemFeaturesTest
-- testCameraFeatures fail junit.framework.AssertionFailedError: PackageManager#hasSystemFeature should NOT return true for android.hardware.camera.autofocus at junit.framework.Assert.fail(Assert.java:50)
修改路径:
android.hardware.camera.xml:
<feature name="android.hardware.camera.autofocus" />
<!--feature name="android.hardware.camera.autofocus" /-->
6)testBurstVideoSnapshot
-- testBurstVideoSnapshot fail com.android.ex.camera2.exceptions.TimeoutRuntimeException: Timed out after 3000 ms waiting for state(s) SESSION_CLOSED at com.android.ex.camera2.utils.StateWaiter.waitForAnyOfStates(StateWaiter.java:164)
-- testVideoSnapshot fail junit.framework.AssertionFailedError: Wait for a capture result timed out in 3000ms at junit.framework.Assert.fail(Assert.java:50)
一般是由于光照等原因导致的,打灯进行重新测试。
要求:
1 亮度要求:后摄:不要将平板直接放在桌子上进行测试,后摄被遮挡,一般后摄的fps因为外部光源较弱就会被降低,最好放在支架上,后摄可以对着明亮的电脑屏幕或者灯光;
前摄: 不要在平板上前摄盖着东西,或者因为全测时间很长,在夜晚关闭灯光放在黑暗环境下去测试,这样前摄的fps也很可能被降低,摄最好也对着灯光。
明亮环境: 可以打开camera,在main log中搜索aaa_state_camera_preview: lv, 此值一般要在60以上。
2 帧率要求:最好preview,capture都可以达到30fps, 建议preview的帧率至少在24fps以上,capture的帧率在15fps以上。
3 Driver部分:
1 )理论fps值:此方面需要和sensor FAE或者datasheet确定设置寄存器的代码,确定sensor输出的理论fps值。
2 ) 提高driver性能:
减少延时: camera sensor driver减少上电延时和driver init/preview/capture/setting/feature control等的延时:
尽可能在符合camera sensor spec的基础上减少延时;
camera sensor driver I2C speed提高:
默认的I2C speed应该是100K, 如果camera sensor可支持,可以尝试提高到400K来测试,这样camera driver中读写I2C的速度会提高到之前的4倍;
camera driver在不影响画面显示的情况下尽可能减少delay frame:
如下的数值尽可能减少:
.cap_delay_frame = 3,
.pre_delay_frame = 3,
.video_delay_frame = 3,
实际中,可以先都改为0来测试cts是否可以pass, 如果可以pass, 再查看camera preview/capture/video开始显示画面时是否有黑屏/绿屏/杂线的问题,如果有,可以酌情。
修改路径:
baseline/kernel-3.10/drivers/misc/xxxxx/mach/xxxx/xxxx/
baseline/vendor/xxxxx/proprietary/platform/xxxxx/hardware/xxxxxcam/core/featureio/pipe/aaa/aaa_hal.cpp
baseline/vendor/xxx/xxx/ccccccc/hal/sendepfeature/
7) testOctane
-- testOctane fail Test failed to run to completion. Reason: 'Instrumentation run failed due to 'junit.framework.AssertionFailedError''. Check device logcat for details
设置默认浏览器为chrome
8) testOwnerChangedBroadcast
com.android.cts.devicepolicy.CustomDeviceOwnerTest
-- testOwnerChangedBroadcast fail junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48)
com.android.cts.devicepolicy.LauncherAppsSingleUserTest
-- testLauncherCallbackPackageAddedMainUser fail junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48)
-- testLauncherCallbackPackageChangedMainUser fail junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48)
-- testLauncherCallbackPackageRemovedMainUser fail junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48)
修改:ProjectConfig.mk(关闭低内存的内存优化)
修改记录:
-CONFIG_LOWMEMORY = yes
+CONFIG_LOWMEMORY = no
9)testLiveWallpaperFeature
android.app.cts.SystemFeaturesTest
-- testLiveWallpaperFeature fail junit.framework.AssertionFailedError: PackageManager#hasSystemFeature should NOT return true for android.software.live_wallpaper at junit.framework.Assert.fail(Assert.java:50)
修改:baseline/packages/wallpapers/LivePicker/android.software.live_wallpaper.xml
修改记录:
- <feature name="android.software.live_wallpaper" />
• <!--feature name="android.software.live_wallpaper" /-->
10)testNeverallowRules107
android.cts.security.SELinuxNeverallowRulesTest
-- testNeverallowRules107 fail junit.framework.AssertionFailedError: The following errors were encountered when validating the SELinuxneverallow rule: neverallow system_server sdcard_type:file { { getattr open read ioctl lock } { open append write } };
路径:baseline/device/xxxxx/common/sepolicy/system_server.te
baseline/external/sepolicy/system_server.te
撤回提交记录:
git revert 。。。。。
11)testNeverallowRules164
android.cts.security.SELinuxNeverallowRulesTest
-- testNeverallowRules164 fail junit.framework.AssertionFailedError: The following errors were encountered when validating the SELinuxneverallow rule: neverallow system_server sdcard_type:file { { getattr open read ioctl lock } { open append write } };
修改:baseline/device/xxxxx/common/sepolicy/system_server.te
修改记录:
-allow system_server vfat:file read;
+#allow system_server vfat:file read;
+neverallow system_server sdcard_type:file rw_file_perms;
11)testPlay00(分辨率低)
android.mediastress.cts.H264R1080pAacRepeatedPlayerTest
-- testPlay00 fail junit.framework.AssertionFailedError: playback /storage/emulated/0/test/bbb_short/1920x1080/mp4_libx264_libfaac/bbb_short.ffmpeg.1920x1080.mp4.libx264_10000kbps_30fps.libfaac_stereo_192kbps_48000Hz.mp4 at junit.framework.Assert.fail(Assert.java:50)
修改:devices/x x x/vvvv/media_codecs_xxxxx_video.xml
<MediaCodec name="OMX.MTK.VIDEO.DECODER.HEVC" type="video/hevc" >
- <Limit name="size" min="16x16" max="1920x1088" />
+ <Limit name="size" min="16x16" max="1280x720" />
13)testCameraToSurfaceTextureMetadata
android.hardware.cts.CameraGLTest
-- testCameraToSurfaceTextureMetadata fail junit.framework.AssertionFailedError: Too many frame intervals out of frame rate bounds: 99, limit 4 at junit.framework.Assert.fail(Assert.java:50)
Camera的条件:
1. 保证前后摄像头都不要被遮挡。
2. 保证环境亮度,lv值至少在60以上。
在main log中搜索:aaa_state_camera_preview: lv
3. 保证preview的帧率至少在24fps以上,capture的帧率在15fps以上
4. feature table中,preview size跟picture 的size满足如下条件:
1)preview size的最大值不能大于picture size的最大值。
2)preview size 最大值的比例跟picture size的最大值比例要保持一致,比例差值不大于+-0.001。
( 不建议preview size 最大值配置跟picture size最大值一样,因为preview size设置过大,会比较耗memory,很可能出现out of memory的情况,建议比例一致即可,preview size 最大值配置跟屏幕分辨率接近就行)。
3)picture size跟preview size的宽高必须是16的倍数
5 Feature Table fps range:
请根据camera sensor的能力来填写fps range信息。Google CTS要求至少有一条range是在min <= 15, max >= 30, 且必须有fixed fps: 30;还有一个原则是: 最小不要小于5fps.
另外,由于video mode night需要15fps, video可能还需要20fps.
一般的配置如下(Base: 1000x):
(5000,30000),
(15000,15000), // 如果fps性能偏差,可以改成(5000,15000)
(20000,20000),
(30000,30000), // 一定需要有
如支持PIP, 还需要配置:(24000,24000)
Driver需要实现对于max framerate的控制,这个其实就是Fixed Framerate的含义。
因为Camera Sensor可能在不同光源下fps会自动调整,默认我们在足够明亮的环境下,所以设定max framerate其实就是指把sensor固定在max framerate这种fps下。当然,实际上,会有一定误差。
RAW Sensor:
实现SENSOR_FEATURE_SET_MAX_FRAME_RATE_BY_SCENARIO
SENSOR_FEATURE_GET_DEFAULT_FRAME_RATE_BY_SCENARIO
YUV Sensor:
实现SENSOR_FEATURE_SET_VIDEO_MODE
有些driver中会hardcode写死支持某些特定fps, 这种情况就需要根据情况修正或者放宽fps range.
修改:
1. baseline/kernel-3.18/drivers/misc/xxxxx/imgsensor/src/XXXX/camera_project/XXX
2. baseline/vendor/xxxxx/proprietary/custom/XXXX/hal/sendepfeature(后置摄像头)
3. baseline/vendor/xxxxx/proprietary/custom/XXXX/hal/sendepfeature(前置摄像头各种size的更改尤其是fps的修改)
14)android.hardware.camera2.cts.RecordingTest
android.hardware.camera2.cts.RecordingTest
-- testBasicRecording fail junit.framework.AssertionFailedError: Frame rate range [20, 20] (for profile ID 2) must be one of the camera device available FPS range! at junit.framework.Assert.fail(Assert.java:50)
-- testRecordingFromPersistentSurface fail junit.framework.AssertionFailedError: Frame rate range [20, 20] (for profile ID 2) must be one of the camera device available FPS range! at junit.framework.Assert.fail(Assert.java:50)
1. 查看设备信息
Camera:CAM[1]:xxxxxmipiraw (后置摄像头)main camera
CAM[2]:xxxxxxxxxxxxxxx(前置摄像头)sub camera
2. 路径:vendor/mediatek/proprietary/custom/xxxx/hal/sendepfeature/下修改对应的配置
// Preview Frame Rate Range
FTABLE_CONFIG_AS_TYPE_OF_USER(
KEY_AS_(CameraParameters::KEY_PREVIEW_FPS_RANGE),
SCENE_AS_DEFAULT_SCENE(
ITEM_AS_DEFAULT_("30000,30000"),
ITEM_AS_USER_LIST_(
"(10000,30000)",
"(15000,15000)",
+ "(20000,20000)",
"(24000,24000)",
"(30000,30000)",
"(60000,60000)",
"(120000,120000)",
)
),
)
15) android.hardware.cts.SensorBatchingTests
android.hardware.cts.SensorBatchingTests
-- testGravity_50hz_batching fail junit.framework.AssertionFailedError: VerifySensorOperation | sensor='Gravity Sensor', samplingPeriod=20000us, maxReportLatency=10000000us | Failed due to (insufficient events, ) at junit.framework.Assert.fail(Assert.java:50)
-- testGravity_fastest_batching fail junit.framework.AssertionFailedError: VerifySensorOperation | sensor='Gravity Sensor', samplingPeriod=0us, maxReportLatency=10000000us | Failed due to (insufficient events, ) at junit.framework.Assert.fail(Assert.java:50)
-- testLinearAcceleration_50hz_batching fail junit.framework.AssertionFailedError: VerifySensorOperation | sensor='Linear Acceleration Sensor', samplingPeriod=20000us, maxReportLatency=10000000us | Failed due to (insufficient events, ) at junit.framework.Assert.fail(Assert.java:50)
-- testLinearAcceleration_fastest_batching fail junit.framework.AssertionFailedError: VerifySensorOperation | sensor='Linear Acceleration Sensor', samplingPeriod=0us, maxReportLatency=10000000us | Failed due to (insufficient events, ) at junit.framework.Assert.fail(Assert.java:50)
-- testMagneticField_50hz_flush fail junit.framework.AssertionFailedError: WaitForFlush | sensor='MAGNETOMETER', samplingPeriod=20000us, maxReportLatency=10000000us | timeout=10000000us at junit.framework.Assert.fail(Assert.java:50)
-- testMagneticField_fastest_flush fail junit.framework.AssertionFailedError: WaitForFlush | sensor='MAGNETOMETER', samplingPeriod=0us, maxReportLatency=10000000us | timeout=10000000us at junit.framework.Assert.fail(Assert.java:50)
-- testOrientation_50hz_batching fail junit.framework.AssertionFailedError: VerifySensorOperation | sensor='Orientation Sensor', samplingPeriod=20000us, maxReportLatency=10000000us | Failed due to (insufficient events, ) at junit.framework.Assert.fail(Assert.java:50)
-- testOrientation_fastest_batching fail junit.framework.AssertionFailedError: VerifySensorOperation | sensor='Orientation Sensor', samplingPeriod=0us, maxReportLatency=10000000us | Failed due to (insufficient events, ) at junit.framework.Assert.fail(Assert.java:50)
-- testRotationVector_50hz_batching fail junit.framework.AssertionFailedError: VerifySensorOperation | sensor='Rotation Vector Sensor', samplingPeriod=20000us, maxReportLatency=10000000us | Failed due to (insufficient events, ) at junit.framework.Assert.fail(Assert.java:50)
android.hardware.cts.SensorIntegrationTests
android.hardware.cts.SensorIntegrationTests
-- testAccelerometerMagneticFieldStopping fail junit.framework.AssertionFailedError: junit.framework.AssertionFailedError: WaitForEvents | sensor='MAGNETOMETER', samplingPeriod=0us, maxReportLatency=0us | requested=100, received=0, timeout=27222200us, at junit.framework.Assert.fail(Assert.java:50)
-- testGyroscopeMagneticFieldStopping fail junit.framework.AssertionFailedError: junit.framework.AssertionFailedError: WaitForEvents | sensor='MAGNETOMETER', samplingPeriod=0us, maxReportLatency=0us | requested=100, received=0, timeout=27222200us, at junit.framework.Assert.fail(Assert.java:50)
-- testMagneticFieldAccelerometerStopping fail junit.framework.AssertionFailedError: junit.framework.AssertionFailedError: WaitForEvents | sensor='MAGNETOMETER', samplingPeriod=0us, maxReportLatency=0us | requested=100, received=0, timeout=27222200us, at junit.framework.Assert.fail(Assert.java:50)
-- testMagneticFieldGyroscopeStopping fail junit.framework.AssertionFailedError: junit.framework.AssertionFailedError: WaitForEvents | sensor='MAGNETOMETER', samplingPeriod=0us, maxReportLatency=0us | requested=100, received=0, timeout=27222200us, at junit.framework.Assert.fail(Assert.java:50)
-- testMagneticFieldMagneticFieldStopping fail junit.framework.AssertionFailedError: junit.framework.AssertionFailedError: WaitForEvents | sensor='MAGNETOMETER', samplingPeriod=0us, maxReportLatency=0us | requested=100, received=0, timeout=27222200us, junit.framework.AssertionFailedError: WaitForEvents | sensor='MAGNETOMETER', samplingPeriod=0us, maxReportLatency=0us | requested=100, received=0, timeout=27222200us, at junit.framework.Assert.fail(Assert.java:50)
testBatchAndFlushWithMultipleSensors
android.hardware.cts.SensorTest
-- testBatchAndFlushWithMultipleSensors fail junit.framework.AssertionFailedError: junit.framework.AssertionFailedError: WaitForEvents | sensor='Orientation Sensor', samplingPeriod=0us, maxReportLatency=10000000us | requested=500, received=0, timeout=26111000us, at junit.framework.Assert.fail(Assert.java:50)
1)首先确认产品支持哪些传感器,对于支持的传感器测试不通过的采取:校准sensor
需要首先在ftm模式下面吧sensor的项目都跑一遍,在界面中有cali字段的sensor都要跑一下这个cali校准,按下音量下键+电源键 进入ftm,点击item test,界面中就找sensor就好了。
2)反之,如果产品不支持某些传感器,但是对应的测试项fail,将宏控关闭重新测试即可。
17) 可以豁免的项:
testDnsWorks、testNoListeningLoopbackTcp6Ports、testAll、testAll、testAll
android.net.cts.DnsTest
-- testDnsWorks fail junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48)
android.security.cts.ListeningPortsTest
-- testNoListeningLoopbackTcp6Ports fail android.security.cts.ListeningPortsTest$ListeningPortsAssertionError: Found port listening on addr=127.0.0.1, port=52218, UID=10094 [com.google.android.youtube] in /proc/net/tcp6
Compatibility Test Package: android.voiceinteraction ABI: armeabi-v7a
Test Result Details
android.voiceinteraction.cts.VoiceInteractionTest
-- testAll fail junit.framework.AssertionFailedError: Failed to receive broadcast in 20000msec at junit.framework.Assert.fail(Assert.java:50)
Compatibility Test Package: android.voicesettings ABI: armeabi-v7a
Test Result Details
android.voicesettings.cts.AirplaneModeTest
-- testAll fail junit.framework.AssertionFailedError: Failed to receive broadcast in 20000msec at junit.framework.Assert.fail(Assert.java:50)
android.voicesettings.cts.BatterySaverModeTest
-- testAll fail junit.framework.AssertionFailedError: Failed to receive broadcast in 20000msec at junit.framework.Assert.fail(Assert.java:50)
android.voicesettings.cts.AirplaneModeTest
-- testAll fail junit.framework.AssertionFailedError: Failed to receive broadcast in 20000msec at junit.framework.Assert.fail(Assert.java:50)
android.voicesettings.cts.BatterySaverModeTest
-- testAll fail junit.framework.AssertionFailedError: Failed to receive broadcast in 20000msec at junit.framework.Assert.fail(Assert.java:50)
Only waive in low RAM project.
Voice recognition and related services will not be available on LOW RAM projects.
https://android-review.googlesource.com/#/c/196480/
[CTS 6.0_r2]android.voiceinteraction.cts.VoiceInteractionTest
-- testAll fail junit.framework.AssertionFailedError: Failed to receive broadcast in 20000msec at junit.framework.Assert.fail(Assert.java:50)
Only waive in low RAM project.
Voice recognition and related services will not be available on LOW RAM projects.
https://android-review.googlesource.com/#/c/196480/
四 Verifier测试总结:
1. 测试准备:
安装apk:需要安装以下几个apk:
NotificationBot.apk、CtsPermissionApp.apk、CtsVerifier.apk;
2. 测试项:
USB Accessory Test:
在以下路径下打开终端执行/cts-usb-accessory:
Projects/2500_mcl_mtn_za/cts_testing/android-cts-verifier$./cts-usb-accessory
3. Data Backup Test:
1.安装CTS Verifier
2.插入有效的SIM card
3.使内置sdcard可用,(但不另插SD card).
4.打开Wifi,并连接有效AP.
5.进入CTS Verifier > 选择“Data Backup Test” > 选择 “OK” > 选择 “Generate Test Data” > 选择 “Settings” > 勾选“Back up my data”>点击Backup account>登录Google账户 >按“返回”键> 记录当前界面显示的数据。
6.在PC端输入依次输入以下命令
adb shell bmgr enable true
adb shell bmgr enabled
adb shell bmgr transport android/com.android.internal.backup.LocalTransport
adb shell bmgr run(执行完这条命令,留出一定时间进行备份)
adb uninstall com.android.cts.verifier
adb install CtsVerifier.apk
7. 再进入CTS verifier > 选择“Data Backup Test” > 选择 “OK” >记录当前界面显示的数据,并与第一次记录的数据进行对比。如果两份数据相同,则备份成功,否则失败。
4. GPS Test
打开wifi或者数据流量,开启location,屏幕保持常亮,进行测试~
5. Notification Package Priority Test
根据测试提示在settingSound&NotificationNotificationApp NotificationsCTS Verifier路径下分别设置:Allow peeking和Treat as priority;(该项测试一般是测试软件问题的);
6. Hifi Ultrasound Microphone Test
安静的测试环境下,两台手机一个录音一个进行播放进行测试;
7. Policy Serialization Test
首先测试Keyguard Password Verification,一般Policy Serialization Test放在其后面进行测试,否则Policy Serialization Test测试会影响Keyguard Password Verification的测试结果。但是在某些项目中是不支持该项测试的。
8. Bluetooth 和wifi
两台同系统的机器,刷好mac地址,不一定要联网,两台机器交互着进行测试~
9. Streaming Video Quality Verifier
需要“翻墙”,先保证www.youtube.com可以正常播放视频 并对比机可以正常pass后,再开始测试。