alibaba / alibaba/macaca

android真机运行webview,无法获取到当前系统 webview version

Open
#766 0 comments 0 reactions 0 assignees View on GitHub
Android help wanted needs more info
Dominant language
No language data
Stars
3.2k
Forks
418
PR merge metrics
No merged PRs in 30d

Description

android 真机运行 无法获取到系统 webview version,默认会去下载最新版本 2.33
运行虚拟机 可以正确识别到 系统的webview version,启动对应的 chromedrvier ,有小伙伴遇到这个问题么?

* **Macaca Doctor Logs**:
macaca-doctor version: 2.0.4

Node.js checklist:

node env: /usr/local/bin/node
node version: v8.8.1

iOS checklist:

Xcode Command Line Tools is ready, version: 2347.
xcodebuild version: 8.3.3
iproxy[usbmuxd] is installed at: `/usr/local/bin/iproxy`
ios_webkit_debug_proxy is installed at: `/usr/local/bin/ios_webkit_debug_proxy`
carthage is installed, version: 0.24.0

Android checklist:

JAVA version is `1.8.0_144`
JAVA_HOME is set to `/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home`
ANDROID_HOME is set to `/Users/tinating/Library/Android/sdk`
Platforms is set to `/Users/tinating/Library/Android/sdk/platforms/android-26`
ADB tool is set to `/Users/tinating/Library/Android/sdk/platform-tools/adb`
gradle is installed, version: 4.3

Installed driver list:

android: 2.0.41
chrome: 1.0.7
electron: 1.1.17
ios: 2.0.29

* **Operate System**:
android系统:7.0.0

* **真机运行logs**:

>> No webview version found from adb shell!
>> use default chromedriver version!
>> starting chromedriver service!
>> chromedriver bin path: /usr/local/lib/node_modules/macaca-android/node_modules/_macaca-chromedriver@1.0.40@macaca-chromedriver/exec/chromedriver2.33
>> Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9516
Only local connections are allowed.

>> chromedriver starting success.
>> proxy.js:51:14 [master] pid:4833 Proxy: /status:GET to http://localhost:9516/wd/hub/status:GET with body:
Error: chromedriver proxy error with: Error: connect ECONNREFUSED 127.0.0.1:9516
at Request.request [as _callback] (/usr/local/lib/node_modules/macaca-android/node_modules/_macaca-chromedriver@1.0.40@macaca-chromedriver/lib/proxy.js:57:25)
at self.callback (/usr/local/lib/node_modules/macaca-android/node_modules/_request@2.69.0@request/request.js:199:22)
at emitOne (events.js:115:13)
at Request.emit (events.js:210:7)
at Request.onRequestError (/usr/local/lib/node_modules/macaca-android/node_modules/_request@2.69.0@request/request.js:821:8)
at emitOne (events.js:115:13)
at ClientRequest.emit (events.js:210:7)
at Socket.socketErrorListener (_http_client.js:385:9)
at emitOne (events.js:115:13)
at Socket.emit (events.js:210:7)
>> proxy.js:51:14 [master] pid:4833 Proxy: /status:GET to http://localhost:9516/wd/hub/status:GET with body:
>> proxy.js:59:16 [master] pid:4833 Got response with status 200: "{\"sessionId\":\"\",\"status\":0,\"value\":{\"build\":{\"version\":\"alpha\"},\"os\":{\"arch\":\"x86_64\",\"name\":\"Mac OS X\",\"version\":\"10.12.5\"}}}"
>> proxy.js:51:14 [master] pid:4833 Proxy: /session:POST to http://localhost:9516/wd/hub/session:POST with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.github.android_app_bootstrap","androidUseRunningApp":true,"androidDeviceSerial":"a4592c49"}}}
>> proxy.js:59:16 [master] pid:4833 Got response with status 200: {"sessionId":"9955fe735ba57cf35446a4000e83728f","status":33,"value":{"message":"session not created exception: Chrome version must be >= 60.0.3112.0\n (Driver info: chromedriver=2.33.506106 (8a06c...
>> chromedriver ready with: {"sessionId":null,"status":33,"value":{"message":"session not created exception: Chrome version must be >= 60.0.3112.0\n (Driver info: chromedriver=2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2),platform=Mac OS X 10.12.5 x86_64)"}}

* **虚拟机运行logs**:

>> this.webviewVersion found 51 use it!
>> starting chromedriver service!
>> chromedriver bin path: /usr/local/lib/node_modules/macaca-android/node_modules/_macaca-chromedriver@1.0.40@macaca-chromedriver/exec/chromedriver2.23
>> Starting ChromeDriver 2.23.409710 (0c4084804897ac45b5ff65a690ec6583b97225c0) on port 9516
Only local connections are allowed.

>> chromedriver starting success.
>> proxy.js:51:14 [master] pid:4833 Proxy: /status:GET to http://localhost:9516/wd/hub/status:GET with body:
Error: chromedriver proxy error with: Error: connect ECONNREFUSED 127.0.0.1:9516
at Request.request [as _callback] (/usr/local/lib/node_modules/macaca-android/node_modules/_macaca-chromedriver@1.0.40@macaca-chromedriver/lib/proxy.js:57:25)
at self.callback (/usr/local/lib/node_modules/macaca-android/node_modules/_request@2.69.0@request/request.js:199:22)
at emitOne (events.js:115:13)
at Request.emit (events.js:210:7)
at Request.onRequestError (/usr/local/lib/node_modules/macaca-android/node_modules/_request@2.69.0@request/request.js:821:8)
at emitOne (events.js:115:13)
at ClientRequest.emit (events.js:210:7)
at Socket.socketErrorListener (_http_client.js:385:9)
at emitOne (events.js:115:13)
at Socket.emit (events.js:210:7)
>> proxy.js:51:14 [master] pid:4833 Proxy: /status:GET to http://localhost:9516/wd/hub/status:GET with body:
>> proxy.js:59:16 [master] pid:4833 Got response with status 200: "{\"sessionId\":\"\",\"status\":0,\"value\":{\"build\":{\"version\":\"alpha\"},\"os\":{\"arch\":\"x86_64\",\"name\":\"Mac OS X\",\"version\":\"10.12.5\"}}}"
>> proxy.js:51:14 [master] pid:4833 Proxy: /session:POST to http://localhost:9516/wd/hub/session:POST with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.github.android_app_bootstrap","androidUseRunningApp":true,"androidDeviceSerial":"192.168.56.102:5555"}}}
>> proxy.js:59:16 [master] pid:4833 Got response with status 200: {"sessionId":"833dbdbdecd69220a5a1e44dff149497","status":0,"value":{"acceptSslCerts":true,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"browserName":"chrome","chrome":{"chromedr...
>> chromedriver ready with: {"sessionId":null,"status":0,"value":{"acceptSslCerts":true,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"browserName":"chrome","chrome":{"chromedriverVersion":"2.23.409710 (0c4084804897ac45b5ff65a690ec6583b97225c0)"},"cssSelectorsEnabled":true,"databaseEnabled":false,"handlesAlerts":true,"hasTouchScreen":true,"javascriptEnabled":true,"locationContextEnabled":true,"mobileEmulationEnabled":false,"nativeEvents":true,"pageLoadStrategy":"normal","platform":"ANDROID","rotatable":false,"takesHeapSnapshot":true,"takesScreenshot":true,"version":"51.0.2704.91","webStorageEnabled":true}}

Contributor guide

No contributing guide indexed for this repository

Research direction

No source file or test is identified in the issue. Start by reproducing the difference between the physical device and emulator, then inspect the adb shell WebView-version lookup and the ChromeDriver selection shown in the logs. Done means the physical device's WebView version is detected and the matching driver starts successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
mobile-dev, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.