Similar to onData, WebView interactions are actually composed of several ViewActions. However
they need to be properly orchestrated and are quite verbose. Web and WebInteraction wrap this
boilerplate and give an Espresso like feel to interacting with WebViews.
WebView interactions constantly cross the Java/Javascript boundary to do their work, since
there is no chance of introducing race conditions by exposing data from the Javascript
environment (everything we see on the Java side is an isolated copy), returning data from
WebInteractions is fully supported.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# Web\n\nSummary: [Nested Classes](#nestedclasses) \\| [Ctors](#pubctors) \\| [Methods](#pubmethods) \\| [Inherited Methods](#inhmethods) \\| [\\[Expand All\\]](#) \n\nWeb\n===\n\n| This package is part of the Android [support library](/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](/jetpack/androidx) which is part of [Jetpack](/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class\n| mappings](/jetpack/androidx/migrate/class-mappings).\n\n\n`\npublic\n\nfinal\n\nclass\nWeb\n`\n\n\n`\n\nextends `[Object](https://developer.android.com/reference/java/lang/Object.html)`\n\n\n`\n\n`\n\n\n`\n\n|---|---------------------------------------------|\n| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||\n| ↳ | android.support.test.espresso.web.sugar.Web |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nAn Entry Point to work with WebViews on Android.\n\nSimilar to onData, WebView interactions are actually composed of several ViewActions. However\nthey need to be properly orchestrated and are quite verbose. Web and WebInteraction wrap this\nboilerplate and give an Espresso like feel to interacting with WebViews.\n\nWebView interactions constantly cross the Java/Javascript boundary to do their work, since\nthere is no chance of introducing race conditions by exposing data from the Javascript\nenvironment (everything we see on the Java side is an isolated copy), returning data from\nWebInteractions is fully supported.\n\nSummary\n-------\n\n| ### Nested classes ||\n|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` class` | [Web.WebInteraction](/reference/android/support/test/espresso/web/sugar/Web.WebInteraction)`\u003cR\u003e` Analogous to a ViewInteraction or a DataInteraction, a WebInteraction exposes a fluent API to the underlying WebView. |\n\n| ### Public constructors ||\n|-----------------------------------------------------------------------------|---|\n| ` `[Web](/reference/android/support/test/espresso/web/sugar/Web#Web())`() ` |\n\n| ### Public methods ||\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` static `[WebInteraction](/reference/android/support/test/espresso/web/sugar/Web.WebInteraction)`\u003c`[Void](https://developer.android.com/reference/java/lang/Void.html)`\u003e` | ` `[onWebView](/reference/android/support/test/espresso/web/sugar/Web#onWebView())`() ` |\n| ` static `[WebInteraction](/reference/android/support/test/espresso/web/sugar/Web.WebInteraction)`\u003c`[Void](https://developer.android.com/reference/java/lang/Void.html)`\u003e` | ` `[onWebView](/reference/android/support/test/espresso/web/sugar/Web#onWebView(org.hamcrest.Matcher\u003candroid.view.View\u003e))`(Matcher\u003c`[View](https://developer.android.com/reference/android/view/View.html)`\u003e viewMatcher) ` |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From class ` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object.html)` ` |-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object.html) | ` clone() ` | | ` boolean` | ` equals(`[Object](https://developer.android.com/reference/java/lang/Object.html)` arg0) ` | | ` void` | ` finalize() ` | | ` final `[Class](https://developer.android.com/reference/java/lang/Class.html)`\u003c?\u003e` | ` getClass() ` | | ` int` | ` hashCode() ` | | ` final void` | ` notify() ` | | ` final void` | ` notifyAll() ` | | ` `[String](https://developer.android.com/reference/java/lang/String.html) | ` toString() ` | | ` final void` | ` wait(long arg0, int arg1) ` | | ` final void` | ` wait(long arg0) ` | | ` final void` | ` wait() ` | ||\n\nPublic constructors\n-------------------\n\n### Web\n\n```\nWeb ()\n```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nPublic methods\n--------------\n\n### onWebView\n\n```\nWebInteraction\u003cVoid\u003e onWebView ()\n```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|\n| [WebInteraction](/reference/android/support/test/espresso/web/sugar/Web.WebInteraction)`\u003c`[Void](https://developer.android.com/reference/java/lang/Void.html)`\u003e` | \u003cbr /\u003e |\n\n### onWebView\n\n```\nWebInteraction\u003cVoid\u003e onWebView (Matcher\u003cView\u003e viewMatcher)\n```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Parameters ||\n|---------------|------------------|\n| `viewMatcher` | `Matcher` \u003cbr /\u003e |\n\n| Returns ||\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|\n| [WebInteraction](/reference/android/support/test/espresso/web/sugar/Web.WebInteraction)`\u003c`[Void](https://developer.android.com/reference/java/lang/Void.html)`\u003e` | \u003cbr /\u003e |\n\n-\n\n Classes\n -------\n\n - [Web](/reference/android/support/test/espresso/web/sugar/Web)\n - [Web.WebInteraction](/reference/android/support/test/espresso/web/sugar/Web.WebInteraction)"]]