diff options
Diffstat (limited to 'docs/html/training/testing/ui-testing/index.jd')
| -rw-r--r-- | docs/html/training/testing/ui-testing/index.jd | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/docs/html/training/testing/ui-testing/index.jd b/docs/html/training/testing/ui-testing/index.jd new file mode 100644 index 0000000..605de22 --- /dev/null +++ b/docs/html/training/testing/ui-testing/index.jd @@ -0,0 +1,76 @@ +page.title=Automating User Interface Tests +page.tags=testing + +trainingnavtop=true +startpage=true + +@jd:body + +<div id="tb-wrapper"> +<div id="tb"> + <h2> + You should also read + </h2> + + <ul> + <li> + <a href="{@docRoot}/tools/testing-support-library/index.html">Testing Support Library</a> + </li> + </ul> +</div> +</div> + +<p>User interface (UI) testing lets you ensure that your app meets its functional requirements +and achieves a high standard of quality such that it is more likely to be successfully adopted by +users.</p> + +<p>One approach to UI testing is to simply have a human tester perform a set of user operations on +the target app and verify that it is behaving correctly. However, this manual approach can be +time-consuming, tedious, and error-prone. A more efficient approach is to write your UI +tests such that user actions are performed in an automated way. The automated approach allows +you to run your tests quickly and reliably in a repeatable manner.</p> + +<p class="note"><strong>Note: </strong>It is strongly encouraged that you use +<a href="{@docRoot}sdk/installing/studio.html">Android Studio</a> for +building your test apps, because it provides project setup, library inclusion, and packaging +conveniences. This class assumes you are using Android Studio.</p> + +<p>To automate UI tests with Android Studio, you implement your test code in a separate +Android test folder ({@code src/androidTest/java}). The +<a href="{@docRoot}tools/building/plugin-for-gradle.html">Android +Plug-in for Gradle</a> builds a test app based on your test code, then loads the test app on the +same device as the target app. In your test code, you can use UI testing frameworks to +simulate user interactions on the target app, in order to perform testing tasks that cover specific +usage scenarios.</p> + +<p>For testing Android apps, you typically create these types of automated UI tests:</p> + +<ul> +<li><em>UI tests that span a single app:</em> This type of test verifies that the target app behaves +as expected when a user performs a specific action or enters a specific input in its activities. +It allows you to check that the target app returns the correct UI output in response +to user interactions in the app’s activities. UI testing frameworks like Espresso allow you to +programmatically simulate user actions and test complex intra-app user interactions.</li> +<li><em>UI tests that span multiple apps:</em> This type of test verifies the correct behavior of +interactions between different user apps or between user apps and system apps. For example, you +might want to test that your camera app shares images correctly with a 3rd-party social media app, +or with the default Android Photos app. UI testing frameworks that support cross-app interactions, +such as UI Automator, allow you to create tests for such scenarios.</li> +</ul> + +<p>The lessons in this class teach you how to use the tools and APIs in the +<a href="{@docRoot}/tools/testing-support-library/index.html">Android Testing Support Library</a> +to build these types of automated tests. Before you begin building tests using these +APIs, you must install the Android Testing Support Library, as described in +<a href="{@docRoot}/tools/testing-support-library/index.html#setup">Downloading the Android +Testing Support Library</a>.</p> + +<h2>Lessons</h2> +<dl> + <dt><strong><a href="espresso-testing.html"> +Testing UI for a Single App</a></strong></dt> + <dd>Learn how to test UI in a single app by using the Espresso testing framework.</dd> + <dt><strong><a href="uiautomator-testing.html"> +Testing UI for Multiple Apps</a></strong></dt> + <dd>Learn how to test UI in multiple apps by using the UI Automator testing framework</dd> +</dl>
\ No newline at end of file |
