How to fetch web view context of ios-uicatalog on ios real device through the new "appium-ios-device" way?

Hi

It’s 3 Nov 2020,

Here is my environment:

Appium Server: 1.18.2
iPhone XS - iOS 14.0
Settings -> Safari -> Advanced -> Web Inspector: enabled
Settings -> Safari -> Advanced -> Remote Automation: enabled
App under test: appium/ios-uicatalog

According to the http://appium.io/docs/en/writing-running-appium/web/hybrid/:

It looks like we can get web view context without any additional operations like adding capabilities or firing up a standalone server.

But it does not work. The appium inspector just showing me the only available context is NATIVE_APP.

So I am wondering what is the correct way to fetch the web view context via the appium-ios-device way or does something inside of appium go buggy?

Besides, same env with the deprecated approach: ios-webkit-debug-proxy works for me: http://appium.io/docs/en/writing-running-appium/web/ios-webkit-debug-proxy/


Thanks.

Hi all,
I got the same problem. My appium version is 2.0 beta.23, I use a iphone SE os version is 15.2.
Even I follow the instruction on http://appium.io/docs/en/writing-running-appium/web/ios-webkit-debug-proxy i can’t get the webview context.
Anyone can help on this?

My log:
[debug] [W3C (c5993a44)] Calling AppiumDriver.getContexts() with args: [“c5993a44-63bc-4972-97fc-17c0bdd97dff”]
[debug] [XCUITest] Executing command ‘getContexts’
[debug] [XCUITest] Getting list of available contexts
[debug] [XCUITest] Retrieving contexts and views
[debug] [XCUITest] Selecting by url: false
[debug] [RemoteDebugger] Sending connection key request
[debug] [RemoteDebugger] Sending ‘_rpc_reportIdentifier:’ message (id: 8): ‘setConnectionKey’
[debug] [RemoteDebugger] Sending to Web Inspector took 3ms
[debug] [RemoteDebugger] Selecting application
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[HTTP] --> GET /session/c5993a44-63bc-4972-97fc-17c0bdd97dff/timeouts
[HTTP] {}
[debug] [W3C (c5993a44)] Calling AppiumDriver.getTimeouts() with args: [“c5993a44-63bc-4972-97fc-17c0bdd97dff”]
[debug] [XCUITest] Executing command ‘getTimeouts’
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[debug] [RemoteDebugger] Current applications available:
[debug] [RemoteDebugger] Application: “PID:520”
[debug] [RemoteDebugger] id: “PID:520”
[debug] [RemoteDebugger] isProxy: false
[debug] [RemoteDebugger] name: “Safari”
[debug] [RemoteDebugger] bundleId: “com.apple.mobilesafari”
[debug] [RemoteDebugger] hostId: undefined
[debug] [RemoteDebugger] isActive: false
[debug] [RemoteDebugger] isAutomationEnabled: true
[debug] [RemoteDebugger] pageArray:
[debug] [RemoteDebugger] - id: 1
[debug] [RemoteDebugger] title: “”
[debug] [RemoteDebugger] url: “about:blank”
[debug] [RemoteDebugger] isKey: false
[debug] [RemoteDebugger] Checking for bundle identifiers: com.apple.WebKit.WebContent, process-com.apple.WebKit.WebContent, process-SafariViewService, com.apple.SafariViewService, *, hk.com.prudential.ebriefcase.uat
[debug] [RemoteDebugger] Trying out the possible app ids: (try #1 of 20)
[RemoteDebugger] Could not connect to a valid app after 20 tries.
[debug] [XCUITest] No available web pages: Could not connect to a valid app after 20 tries.
[debug] [XCUITest] No web frames found.
[debug] [W3C (c5993a44)] Responding to client with driver.getContexts() result: [“NATIVE_APP”]