W3C home > Mailing lists > Public > public-test-infra@w3.org > July to September 2018

Re: Failed to run wpt test on chrome_android.

From: Robert Ma <robertma@chromium.org>
Date: Tue, 11 Sep 2018 12:11:55 -0400
Message-ID: <CAOPAaNKbhVUAMM4hujkpXhU=5LMgtwGs5aQ2qA1MEgByzfJJGQ@mail.gmail.com>
To: kehe@chromium.org
Cc: public-test-infra <public-test-infra@w3.org>
Hello Ke,

I wrote this piece of code in WPT. Turns out I hard-coded the package name
for a non-public build of Chrome here:
https://github.com/web-platform-tests/wpt/blob/7c50c216081d6ea3c9afe553ee7b64534020a1b2/tools/wptrunner/wptrunner/browsers/chrome_android.py#L51

To workaround the issue, you'll need to change the package name to
"com.android.chrome" to use the public/canonical version of Google Chrome
for Android (from Play Store), or whatever package name your custom build
has if you plan to build from source. The proper fix would be to turn this
into a command-line flag.

In addition, the current implementation (which is really a prototype)
unfortunately also requires you to root the device:
https://web-platform-tests.org/running-tests/chrome_android.html

Could you share why you'd like to run WPT on Chrome for Android? Maybe we
can work together.

On Tue, Sep 11, 2018 at 4:29 AM Ke He <kehe@chromium.org> wrote:

> Hi,
>
> First, thank you very much for your time to read my questions. My steps
> are as below:
> 1) I git cloned the latest web-platform-tests to my
> workstation(Ubuntu16.04).
> 2) Downloaded the chromium source code for android(71.0.3546.0) and built
> out a "ChromePublic.apk"..
> 3) Followed the instructions in "docs/_running-tests/chrome_android.md".
>
> Then I plugged in the usb cable to an android phone(already rooted and its
> /etc/hosts has been modified like suggested), adb install the
> ChromePublic.apk, then run:
> "./wpt run chrome_android wake-lock" (choose wake-lock just because it
> contains fewer test cases)
>
> It failed with logs:
>
> *./wpt run chrome_android wake-lockUsing webdriver binary
> /home/wade/heke/wpt/wpt/_venv/bin/chromedriver 0:02.63 INFO Updating test
> manifest /home/wade/heke/wpt/wpt/MANIFEST.json 0:02.66 INFO STDOUT:
> INFO:manifest:Skipping manifest download because existing file is recent
> 0:07.80 INFO STDOUT: INFO:manifest:Updating manifest 1:24.30 INFO STDOUT:
> DEBUG:manifest:Opening manifest at /home/wade/heke/wpt/wpt/MANIFEST.json
> 1:31.81 INFO Using 1 client processes 1:31.95 INFO Starting http server on
> web-platform.test:8000 1:31.96 INFO Starting http server on
> web-platform.test:8001 1:32.04 INFO Starting https server on
> web-platform.test:8443 1:32.49 SUITE_START: web-platform-test - running 15
> tests 1:32.49 INFO Running reftest tests 1:32.71 INFO No reftest tests to
> run 1:32.71 INFO Running wdspec tests 1:32.72 INFO No wdspec tests to run
> 1:32.72 INFO Running testharness tests 1:32.75 INFO adb wait-for-device
> 1:32.88 INFO adb forward --remove-all 1:32.94 INFO adb reverse --remove-all
> 1:33.03 INFO adb reverse tcp:8000 tcp:8000 1:33.13 INFO adb reverse
> tcp:8001 tcp:8001 1:33.23 INFO adb reverse tcp:8888 tcp:8888 1:33.33 INFO
> adb reverse tcp:8889 tcp:8889 1:33.43 INFO adb reverse tcp:8443 tcp:8443
> 1:33.68 pid:20561 Full command:
> /home/wade/heke/wpt/wpt/_venv/bin/chromedriver --port=4444
> --url-base=/pid:20561 Starting ChromeDriver 2.41.578700
> (2f1ed5f9343c13f73144538f15c00b370eda6706) on port 4444 1:33.68 pid:20561
> Only local connections are allowed. 1:34.11 INFO Starting runner 1:35.21
> WARNING Failed to start protocol connection 1:35.21 ERROR Traceback (most
> recent call last):  File
> "/home/wade/heke/wpt/wpt/tools/wptrunner/wptrunner/executors/protocol.py",
> line 47, in setup    self.connect()  File
> "/home/wade/heke/wpt/wpt/tools/wptrunner/wptrunner/executors/executorselenium.py",
> line 180, in connect    desired_capabilities=self.capabilities)  File
> "/home/wade/heke/wpt/wpt/_venv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py",
> line 156, in __init__    self.start_session(capabilities, browser_profile)
>  File
> "/home/wade/heke/wpt/wpt/_venv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py",
> line 251, in start_session    response = self.execute(Command.NEW_SESSION,
> parameters)  File
> "/home/wade/heke/wpt/wpt/_venv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py",
> line 320, in execute    self.error_handler.check_response(response)  File
> "/home/wade/heke/wpt/wpt/_venv/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py",
> line 242, in check_response    raise exception_class(message, screen,
> stacktrace)WebDriverException: Message: unknown error:
> com.google.android.apps.chrome is not installed on device 00447583  (Driver
> info: chromedriver=2.41.578700
> (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.4.0-112-generic
> x86_64)*
>
> I see something went wrong from logs:
>
> *"WARNING Failed to start protocol connection" and *
>
> *"WebDriverException: Message: unknown error:
> com.google.android.apps.chrome is not installed on device 00447583"*
> I also downloaded a Chrome apk(version 68) from some app store and tried
> again, but some error happened.
> Could some experts give some hints on this? thanks very much!
>
> Ke
>
Received on Tuesday, 11 September 2018 16:21:12 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 11 September 2018 16:21:13 UTC