Re: Failed to run wpt test on chrome_android.

Hi, Robert,
Thank you very much!  It works now, yes the package name is key.
The reason I run this is that some my colleagues are working on a
downstream of chrome, in which they tried to make some modifications, so my
idea is to run this WPT tests for them to check whether any new bugs were
introduced.

Thanks again!
Ke


On Wed, Sep 12, 2018 at 12:11 AM, Robert Ma <robertma@chromium.org> wrote:

> 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 Wednesday, 12 September 2018 04:04:37 UTC