222 lines
9.7 KiB
HTML
222 lines
9.7 KiB
HTML
<html devsite>
|
||
<head>
|
||
<title>Using CTS Verifier</title>
|
||
<meta name="project_path" value="/_project.yaml" />
|
||
<meta name="book_path" value="/_book.yaml" />
|
||
</head>
|
||
<body>
|
||
<!--
|
||
Copyright 2017 The Android Open Source Project
|
||
|
||
Licensed under the Apache License, Version 2.0 (the "License");
|
||
you may not use this file except in compliance with the License.
|
||
You may obtain a copy of the License at
|
||
|
||
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
Unless required by applicable law or agreed to in writing, software
|
||
distributed under the License is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
See the License for the specific language governing permissions and
|
||
limitations under the License.
|
||
-->
|
||
|
||
|
||
|
||
<p>The Android Compatibility Test Suite Verifier (CTS Verifier) is a supplement to
|
||
the Compatibility Test Suite (CTS). While CTS checks those APIs and functions
|
||
that can be automated, CTS Verifier provides tests for those APIs and functions
|
||
that cannot be tested on a stationary device without manual input, like audio
|
||
quality, touchscreen, accelerometer, camera, etc.</p>
|
||
<h2 id=test_preparation>Test preparation</h2>
|
||
<p>The device must have verified Android API compatibility by successfully passing
|
||
the Compatibility Test Suite.</p>
|
||
<h3 id=hardware_requirements>Hardware requirements</h3>
|
||
<ul>
|
||
<li> A Linux computer with USB 2.0 compatible port
|
||
<li> A second Android device with a known compatible Bluetooth, Wi-Fi direct, and
|
||
NFC Host Card Emulation (HCE) implementation
|
||
</ul>
|
||
<h3 id=setup>Setup</h3>
|
||
<ul>
|
||
<li>Install the <a href="http://developer.android.com/sdk/index.html">Android
|
||
SDK</a> on the Linux computer <li>Download the appropriate <a
|
||
href="downloads.html">CTS Verifier.apk</a> for the
|
||
version of Android under test.
|
||
<li>Install CTS Verifier.apk to the <em>Device Under Test</em> (DUT).
|
||
<pre class="devsite-terminal devsite-click-to-copy">adb install -r -g CtsVerifier.apk</pre>
|
||
<li>Ensure that the device has its system data and time set correctly.
|
||
</ul>
|
||
<h2 id=cts_test_procedure>CTS Verifier test procedure</h2>
|
||
<ol>
|
||
<li>After the CTS Verifier.apk has been installed, launch the CTS Verifier
|
||
application:
|
||
|
||
<img src="/compatibility/cts/images/cts-verifier-icon.png" alt="CTS Verifier icon in launcher" id="figure1" />
|
||
<p class="img-caption">
|
||
<strong>Figure 1.</strong> CTS Verifier icon
|
||
</p>
|
||
|
||
<li>Once opened, the CTS Verifier displays a list of all test sets available for
|
||
manual verification:
|
||
|
||
<img src="/compatibility/cts/images/cts-verifier-menu.png" alt="CTS Verifier menu of tests" id="figure2" />
|
||
<p class="img-caption">
|
||
<strong>Figure 2.</strong> CTS Verifier menu of tests
|
||
</p>
|
||
|
||
<li>Each test contains a set of common elements (in some tests, Pass/Fail is
|
||
determined automatically):
|
||
<ul>
|
||
<li><em>Info</em>—a set of instructions to run the test. This will appear as a popup the first
|
||
time each test is opened or whenever the <strong>Info</strong> button (?) is pressed.
|
||
<li><em>Pass</em>—If the DUT meets the test requirements per the instructions from Info, press
|
||
the <strong>Pass</strong> button (✓).
|
||
<li><em>Fail</em>—If the DUT does not meet the test requirements per the instructions from Info,
|
||
press the <strong>Fail</strong> button (!).
|
||
</ul>
|
||
|
||
<img src="/compatibility/cts/images/video-verifier.png" alt="Streaming video quality verifier" id="figure3" />
|
||
<p class="img-caption">
|
||
<strong>Figure 3.</strong> Video quality verifier
|
||
</p>
|
||
|
||
</ol>
|
||
|
||
<h2 id=specific_test_requirements>Specific test requirements</h2>
|
||
<h3 id=usb_accessory>USB Accessory</h3>
|
||
<p>In order to run the USB Accessory test, you need a Linux computer to run the
|
||
USB desktop machine (host) program.</p>
|
||
<ol>
|
||
<li>Connect the DUT to a computer.
|
||
<li>Execute the cts-usb-accessory program on the computer found in the CTS Verifier
|
||
package.
|
||
<pre class="devsite-terminal devsite-click-to-copy">./cts-usb-accessory</pre>
|
||
<li>A popup message will appear on the DUT. Select <strong>OK</strong> and go into the USB Accessory Test in the CTS Verifier application.
|
||
<br>
|
||
<img src="/compatibility/cts/images/screen-lock-test.png" alt="CTS Verifier screen lock test" id="figure4" />
|
||
<p class="img-caption">
|
||
<strong>Figure 4.</strong> Screen lock test
|
||
</p>
|
||
|
||
<li>Output similar to below will appear on the computer’s console.
|
||
</ol>
|
||
<pre class="devsite-click-to-copy">
|
||
CTS USB Accessory Tester
|
||
Found possible Android device (413c:2106) - attempting to switch to accessory
|
||
mode...
|
||
Failed to read protocol version
|
||
Found Android device in accessory mode (18d1:2d01)...
|
||
[RECV] Message from Android device #0
|
||
[SENT] Message from Android accessory #0
|
||
[RECV] Message from Android device #1
|
||
[SENT] Message from Android accessory #1
|
||
[RECV] Message from Android device #2
|
||
[SENT] Message from Android accessory #2
|
||
[RECV] Message from Android device #3
|
||
[SENT] Message from Android accessory #3
|
||
[RECV] Message from Android device #4
|
||
[SENT] Message from Android accessory #4
|
||
[RECV] Message from Android device #5
|
||
[SENT] Message from Android accessory #5
|
||
[RECV] Message from Android device #6
|
||
[SENT] Message from Android accessory #6
|
||
[RECV] Message from Android device #7
|
||
[SENT] Message from Android accessory #7
|
||
[RECV] Message from Android device #8
|
||
[SENT] Message from Android accessory #8
|
||
[RECV] Message from Android device #9
|
||
[SENT] Message from Android accessory #9
|
||
[RECV] Message from Android device #10
|
||
[SENT] Message from Android accessory #10
|
||
</pre>
|
||
<h3 id=camera_field_of_view_calibration>Camera field of view calibration</h3>
|
||
<p>This field of view calibration procedure is designed to be a quick way to
|
||
determine the device field of view with moderate accuracy.
|
||
<p><strong>Setup</strong> - Print the <a
|
||
href="/compatibility/calibration-pattern.pdf">calibration-pattern.pdf</a>
|
||
target file and mount it on a rigid backing. Print on 11” x 17” or A3. Orient
|
||
the camera device and the printed target as shown in the diagram below:</p>
|
||
|
||
<img src="/compatibility/cts/images/camera-printed-target.png" alt="Camera printed target" id="figure5" />
|
||
<p class="img-caption">
|
||
<strong>Figure 5.</strong> Camera printed target
|
||
</p>
|
||
|
||
<p><strong>Setting the target width</strong> - Measure the distance between the
|
||
solid lines on the target pattern in centimeters to account for printing
|
||
inaccuracies (~38 cm).</p>
|
||
<ol>
|
||
<li>Start the calibration application.
|
||
<li>Press the setup button and select “Marker distance” to enter the distance.
|
||
<li>Measure and enter the distance to the target pattern (~100 cm).
|
||
<li>Press the back button to return to the calibration preview.
|
||
</ol>
|
||
<p><strong>Calibration process</strong> - Verify that the device and target are
|
||
placed as shown in the figure and the correct distances have been entered into
|
||
the setup dialog.The preview will display the image with a vertical line
|
||
overlaid onto it. This line should align with the center line of the target
|
||
pattern. The transparent grid can be used with the other vertical lines to
|
||
ensure that the optical axis is orthogonal to the target.</p>
|
||
<ol>
|
||
<li>Select an image resolution to test from the selector at the bottom left.
|
||
<li>Tap the screen to take a photo and enter the calibration mode (described
|
||
below).
|
||
<li>Hit the back button and repeat for all supported image resolutions.
|
||
</ol>
|
||
<p><strong>Calibration test (per resolution)</strong> In the calibration mode, the photo will be displayed with two vertical lines
|
||
overlaid onto the image.These lines should align with the vertical lines on the target pattern within a
|
||
few pixels. If they do not, then the reported field of view for that mode is
|
||
inaccurate (assuming the setup is correct).Adjust the slider at the bottom of the screen until the overlay aligns with the
|
||
target pattern as closely as possible. The displayed field of view will be a
|
||
close approximation to the correct value when the overlay and the target
|
||
pattern image are aligned. The reported field of view should be within +/-1
|
||
degree of the calibration value.</p>
|
||
<h2 id=exporting_test_reports>Exporting test reports</h2>
|
||
<ol>
|
||
<li>
|
||
After all tests are completed, tap the <strong>Save (disk)</strong> icon.
|
||
<br>
|
||
<img src="/compatibility/cts/images/verifier-save-icon.png" alt="CTS Verifier Save icon" id="figure6" />
|
||
<p class="img-caption">
|
||
<strong>Figure 6.</strong> CTS Verifier Save icon. <em>Note:</em> In
|
||
Android 7.0 and later, the preview feature is removed:
|
||
<img src="/compatibility/cts/images/verifier-preview-icon.png" width="24" height="24">
|
||
</p>
|
||
</li>
|
||
<li>
|
||
A path to the saved report will be displayed in pop-up (e.g.
|
||
<code>/sdcard/verifierReports/ctsVerifierReport-date-time.zip</code>).
|
||
Record the path.
|
||
<br>
|
||
<img src="images/path-saved-report.png" alt="CTS Verifier path to saved report " id="figure7" />
|
||
<p class="img-caption">
|
||
<strong>Figure 7.</strong> CTS Verifier path to saved report
|
||
</p>
|
||
</li>
|
||
<li>
|
||
Connect the device via USB to a computer with the SDK installed.
|
||
</li>
|
||
<li>
|
||
From the computer’s SDK installation, run
|
||
<code>adb pull CTSVerifierReportPath</code> to download the report from the device.
|
||
<ul>
|
||
<li>
|
||
To download all reports run:
|
||
<pre class="devsite-terminal devsite-click-to-copy">adb pull /sdcard/verifierReports</pre>
|
||
For Android 6.0 and earlier, run:
|
||
<pre class="devsite-terminal devsite-click-to-copy">adb pull /mnt/sdcard/ctsVerifierReports/</pre>
|
||
</li>
|
||
<li>
|
||
The name of the reports are time-stamped based on the DUT’s system time.
|
||
</li>
|
||
<li>
|
||
To clear results after they have been selected, select
|
||
<strong>Menu > Clear</strong>. This will clear the Pass/Fail results.
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ol>
|
||
|
||
</body>
|
||
</html>
|