appium / appium/java-client

[feature request] we need to wrap `ios_webkit_debug_proxy` like AppiumDriverLocalService

Open
#372 5 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Needs investigation
Dominant language
Java
Stars
1.3k
Forks
752
Avg merge
6d 21h
Merged PRs (30d)
8

Description

Description

As java-client does not launch ios_webkit_debug_proxy when setting autoWebview=true desired capability or query context( e.g. driver.getContextHandles() ,driver.context(String), driver.getContext(), it would fail like below it testing on real iOS devices:

[MJSONWP] Encountered internal error running command: RequestError: Error: connect ECONNREFUSED 127.0.0.1:27753
at new RequestError (/usr/local/lib/node_modules/appium/node_modules/request-promise/lib/errors.js:11:15)
at Request.RP$callback as _callback
at self.callback (/usr/local/lib/node_modules/appium/node_modules/request-promise/node_modules/request/request.js:199:22)
at emitOne (events.js:90:13)
at Request.emit (events.js:182:7)
at Request.onRequestError (/usr/local/lib/node_modules/appium/node_modules/request-promise/node_modules/request/request.js:821:8)
at emitOne (events.js:90:13)
at ClientRequest.emit (events.js:182:7)
at Socket.socketErrorListener (_http_client.js:306:9)
at emitOne (events.js:90:13)
at Socket.emit (events.js:182:7)
at emitErrorNT (net.js:1249:8)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)

I think we could handle this by launching ios_webkit_debug_proxy as a service like AppiumDriverLocalService

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing AppiumDriverLocalService implementation and trace how local services are represented and managed. Determine where ios_webkit_debug_proxy should be launched for autoWebview and context queries on real iOS devices. Done means the proxy is managed by the Java client and those operations no longer fail with ECONNREFUSED.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, java
Domain
devtools, mobile-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.