Appium Inspector doesn't work in webview context

Appium Inspector works fine when in native context, but after switching to webview context, Inspector doesn’t work.

After switching to webview context, clicking the Inspector button fails with the error: Requested a new session but one was in progress.

Environment: Appium 1.4.8, Android 4.4.4

Does Appium Inspector support webview context? If not, what other approach can I use to view the content of the webview?

info: --> POST /wd/hub/session/ec3fd62b-0c6c-4eac-9134-f84ed947dc99/context {“name”:“WEBVIEW_com.workday.workdroidapp”}

info: [debug] Getting a list of available webviews

info: [debug] executing cmd: /Users/jack.whitney/androidsdk/platform-tools/adb -s emulator-5554 shell “cat /proc/net/unix”
info: [debug] WEBVIEW_2943 mapped to pid 2943
info: [debug] Getting process name for webview
info: [debug] executing cmd: /Users/jack.whitney/androidsdk/platform-tools/adb -s emulator-5554 shell “ps”
info: [debug] WEBVIEW_1931 mapped to pid 1931
info: [debug] Getting process name for webview
info: [debug] executing cmd: /Users/jack.whitney/androidsdk/platform-tools/adb -s emulator-5554 shell “ps”
info: [debug] Parsed pid: 2943 pkg: com.workday.workdroidapp
info: [debug] from: u0_a461,2943,927,470652,102660,ffffffff,b76dbf1b,S,com.workday.workdroidapp
info: [debug] returning process name: com.workday.workdroidapp
info: [debug] Parsed pid: 1931 pkg: com.android.browser
info: [debug] from: u0_a14,1931,927,445444,73336,ffffffff,b76dbf1b,S,com.android.browser
info: [debug] returning process name: com.android.browser
info: [debug] Available contexts: NATIVE_APP,WEBVIEW_com.workday.workdroidapp,WEBVIEW_com.android.browser
info: [debug] [“WEBVIEW_com.workday.workdroidapp”,“WEBVIEW_com.android.browser”]
info: [debug] Available contexts: NATIVE_APP,WEBVIEW_com.workday.workdroidapp,WEBVIEW_com.android.browser
info: [debug] Connecting to chrome-backed webview
info: Chromedriver: Set chromedriver binary as: /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver
info: Chromedriver: Killing any old chromedrivers, running: ps -ef | grep /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver | grep -v grep |grep -e ‘–port=9515(\s.*)?$’ | awk ‘{ print $2 }’ | xargs kill -15

info: Chromedriver: Successfully cleaned up old chromedrivers
info: Chromedriver: Spawning chromedriver with: /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver --url-base=wd/hub --port=9515
info: Chromedriver: [STDOUT] Starting ChromeDriver 2.15.322455 (ae8db840dac8d0c453355d3d922c91adfb61df8f) on port 9515
Only local connections are allowed.
info: JSONWP Proxy: Proxying [GET /status] to [GET http://127.0.0.1:9515/wd/hub/status] with no body

info: JSONWP Proxy: Got response with status 200: {“sessionId”:"",“status”:0,“value”:{“build”:{“version”:“alpha”},“os”:{“arch”:“x86_64”,“name”:“Mac OS X”,“version”:“10.10.4”}}}
info: JSONWP Proxy: Proxying [POST /session] to [POST http://127.0.0.1:9515/wd/hub/session] with body: {“desiredCapabilities”:{“chromeOptions”:{“androidPackage”:“com.workday.workdroidapp”,“androidUseRunningApp”:true,“androidDeviceSerial”:“emulator-5554”}}}

info: JSONWP Proxy: Got response with status 200: {“sessionId”:“2d1a7f8840716ef596c3d42f9cde8320”,“status”:0,“value”:{“acceptSslCerts”:true,“applicationCacheEnabled”:false,“browserConnectionEnabled”:false,“browserName”:“chrome”,“chrome”:{},"cssSelect…

info: [debug] Responding to client with success: {“status”:0,“value”:null,“sessionId”:“ec3fd62b-0c6c-4eac-9134-f84ed947dc99”}

info: <-- POST /wd/hub/session/ec3fd62b-0c6c-4eac-9134-f84ed947dc99/context 200 724.004 ms - 76 {“status”:0,“value”:null,“sessionId”:“ec3fd62b-0c6c-4eac-9134-f84ed947dc99”}

info: --> GET /wd/hub/status {}

info: JSONWP Proxy: Proxying [GET /wd/hub/status] to [GET http://127.0.0.1:9515/wd/hub/status] with body: {}

info: JSONWP Proxy: Got response with status 200: {“sessionId”:"",“status”:0,“value”:{“build”:{“version”:“alpha”},“os”:{“arch”:“x86_64”,“name”:“Mac OS X”,“version”:“10.10.4”}}}
info: <-- GET /wd/hub/status 200 6.681 ms - 126

info: --> GET /wd/hub/status {}

info: JSONWP Proxy: Proxying [GET /wd/hub/status] to [GET http://127.0.0.1:9515/wd/hub/status] with body: {}

error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress

info: JSONWP Proxy: Got response with status 200: {“sessionId”:"",“status”:0,“value”:{“build”:{“version”:“alpha”},“os”:{“arch”:“x86_64”,“name”:“Mac OS X”,“version”:“10.10.4”}}}
info: <-- GET /wd/hub/status 200 5.804 ms - 126
info: --> GET /wd/hub/sessions {}
info: JSONWP Proxy: Proxying [GET /wd/hub/sessions] to [GET http://127.0.0.1:9515/wd/hub/sessions] with body: {}
info: JSONWP Proxy: Got response with status 200: {“sessionId”:"",“status”:0,“value”:[{“capabilities”:{“acceptSslCerts”:true,“applicationCacheEnabled”:false,“browserConnectionEnabled”:false,“browserName”:“chrome”,“chrome”:{},“cssSelectorsEnabled”:tru…
info: <-- GET /wd/hub/sessions 200 6.337 ms - 528
info: --> POST /wd/hub/session {“desiredCapabilities”:{“platformName”:“Android”,“platformVersion”:“4.4”,“newCommandTimeout”:“999999”,“automationName”:“Appium”}}
info: Client User-Agent string: Appium (unknown version) CFNetwork/720.4.4 Darwin/14.4.0 (x86_64)
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: [debug] Error: Requested a new session but one was in progress
at [object Object].Appium.start (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/appium.js:139:15)
at exports.createSession (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/controller.js:188:16)
at Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:110:13)
at Route.dispatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:91:3)
at Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:267:22
at Function.proto.process_params (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:321:12)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:261:10)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:100:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_

modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/controller.js:39:7
at Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:110:13)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
at next (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14)
info: [debug] Responding to client with error: {“status”:33,“value”:{“message”:“A new session could not be created. (Original error: Requested a new session but one was in progress)”,“origValue”:“Requested a new session but one was in progress”},“sessionId”:“ec3fd62b-0c6c-4eac-9134-f84ed947dc99”}
info: <-- POST /wd/hub/session 500 8.317 ms - 250

UIAutomator viewer can’t inspect the web view. You should use chrome’s inspect devices tool.

Chrome Menu > More tools > Inspect devices.