Android WebView

To run WPT on WebView on an Android device, some additional set-up is required.

Currently, Android WebView support is experimental.


Please check Chrome for Android for the common instructions for Android support first.

Ensure you have a userdebug or eng Android build installed on the device.

Install an up-to-date version of system webview shell:

  1. Go to chromium-browser-snapshots

  2. Find the subdirectory with the highest number and click it, this number can be found in the “Commit Position” column of row “LAST_CHANGE” (at bottom of page).

  3. Download file and unzip it.

  4. Install SystemWebViewShell.apk.

  5. On emulator, system webview shell may already be installed by default. Then you may need to remove the existing apk:

If you have an issue with ChromeDriver version mismatch, try one of the following:

  • Try removing _venv/bin/chromedriver such that wpt runner can install a matching version automatically. Failing that, please check your environment path and make sure that no other ChromeDriver is used.

  • Download the ChromeDriver binary matching your WebView’s major version and specify it on the command line

    ./wpt run --webdriver-binary <binary path> ...

Configure host remap rules in the webview commandline file:

adb shell "echo '_ --host-resolver-rules=\"MAP nonexistent.*.test ^NOTFOUND, MAP *.test\"' > /data/local/tmp/webview-command-line"

Ensure that adb can be found on your system’s PATH.

Running Tests

Example command line:

./wpt run --test-type=testharness android_webview <TESTS>
  • Note that there is no support for channel or automatic installation. The test will be run against the current WebView version installed on the device.

  • Reftests are not supported at the moment.