I woke a few days ago to run an appium UI automated test on iOS simulator which has been running perfectly without any error. I recently upgraded to iOS 15.4 and iOS 13.3 and to my surprise Appium is unable to take screenshots again. I tried checking what the cause could be and found exact similar problem posted here Socket hang up error while taking screenshot in appium (iOS 15.4 beta & xCode 13.3 beta 2). I find this as well on Apple post Xcode 12 Beta 3 Release Notes. Are there any workaround presently for this?
This is the error I'm getting
[HTTP] --> GET /wd/hub/session/ea84cef2-3649-4e76-91b9-23cec159e3a1/element/1B000000-0000-0000-1439-000000000000/screenshot
[HTTP] {}
[debug] [W3C (ea84cef2)] Calling AppiumDriver.getElementScreenshot() with args: ["1B000000-0000-0000-1439-000000000000","ea84cef2-3649-4e76-91b9-23cec159e3a1"]
[debug] [XCUITest] Executing command 'getElementScreenshot'
[debug] [WD Proxy] Matched '/element/1B000000-0000-0000-1439-000000000000/screenshot' to command name 'getElementScreenshot'
[debug] [Protocol Converter] Did not know how to rewrite the original URL '/element/1B000000-0000-0000-1439-000000000000/screenshot' for W3C protocol
[debug] [WD Proxy] Proxying [GET /element/1B000000-0000-0000-1439-000000000000/screenshot] to [GET http://127.0.0.1:8100/session/88FE5109-F180-482B-B948-980F345404CC/element/1B000000-0000-0000-1439-000000000000/screenshot] with no body
[WD Proxy] Got response with status 500: {"value":{"error":"unable to capture screen","message":"Error Domain=com.facebook.WebDriverAgent Code=1 \"Cannot take a screenshot within 20000 ms timeout\" UserInfo={NSLocalizedDescription=Cannot take a screenshot within 20000 ms timeout}","traceback":""},"sessionId":"88FE5109-F180-482B-B948-980F345404CC"}
[debug] [W3C] Matched W3C error code 'unable to capture screen' to UnableToCaptureScreen
[debug] [W3C (ea84cef2)] Encountered internal error running command: UnableToCaptureScreen: Error Domain=com.facebook.WebDriverAgent Code=1 "Cannot take a screenshot within 20000 ms timeout" UserInfo={NSLocalizedDescription=Cannot take a screenshot within 20000 ms timeout}
[debug] [W3C (ea84cef2)] at errorFromW3CJsonCode (/Users/kadeoye/.appium/appium-xcuitest-driver/node_modules/appium-base-driver/lib/protocol/errors.js:780:25)
[debug] [W3C (ea84cef2)] at ProxyRequestError.getActualError (/Users/kadeoye/.appium/appium-xcuitest-driver/node_modules/appium-base-driver/lib/protocol/errors.js:663:14)
[debug] [W3C (ea84cef2)] at JWProxy.command (/Users/kadeoye/.appium/appium-xcuitest-driver/node_modules/appium-base-driver/lib/jsonwp-proxy/proxy.js:272:19)
[debug] [W3C (ea84cef2)] at runMicrotasks (<anonymous>)
[debug] [W3C (ea84cef2)] at processTicksAndRejections (node:internal/process/task_queues:96:5)
[debug] [W3C (ea84cef2)] at XCUITestDriver.proxyCommand (/Users/kadeoye/.appium/appium-xcuitest-driver/node_modules/appium-xcuitest-driver/lib/commands/proxy-helper.js:96:12)
[debug] [W3C (ea84cef2)] at XCUITestDriver.getElementScreenshot (/Users/kadeoye/.appium/appium-xcuitest-driver/node_modules/appium-xcuitest-driver/lib/commands/screenshots.js:52:16)
[HTTP] <-- GET /wd/hub/session/ea84cef2-3649-4e76-91b9-23cec159e3a1/element/1B000000-0000-0000-1439-000000000000/screenshot 500 20106 ms - 1319
Change back to iOS 15.2 I had the same issue and struggled for hours... tried everything.. It was absolutely the same case as yours. Yesterday it was working and suddenly today it stopped working. So at the end, the only change was that the xcode simulator updated itself to iOS 15.4 from 15.2. That's why somehow appium inspector stopped working and taking screenshots. I guess it will take some time from appium side things to be updated but until then just row back to latest stable iOS simulator version 15.2. How to do that - Xcode -> Preferences -> Components -> select older iOS version Simulator -> download, Check and Install now -> build -> voila :)
It can be fixed by changing WebDriverAgentLib/Utilities/FBScreenshot.m (257th line):
(nullable id)screenshotRequestWithScreenID:(unsigned int)screenID
to:
(nullable id)screenshotRequestWithScreenID:(long long)screenID
Problem is reported and it’s solution is also here:
https://github.com/appium/appium/issues/16604
Iam using xcode v-13.2 appium version 1.21.0 and iPhone XR v-15.3.1 not able to open appium inspector pls help!!!!
terminal code-
Last login: Fri Feb 25 01:09:02 on ttys000
taniya#Anus-MacBook ~ % cd /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent
taniya#Anus-MacBook appium-webdriveragent % xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id='00008020-000E08901EF9002E' test -allowProvisioningUpdates
Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id=00008020-000E08901EF9002E test -allowProvisioningUpdates
User defaults from command line:
IDEPackageSupportUseBuiltinSCM = YES
2022-02-25 01:13:10.330 xcodebuild[9152:471315] CFURLRequestSetHTTPCookieStorageAcceptPolicy_block_invoke: no longer implemented and should not be called
note: Using new build system
note: Planning
Analyze workspace
Create build description
Build description signature: 41cbaf1fe2310278fb3c9a049f6b7dc8
Build description path: /Users/Taniya/Library/Developer/Xcode/DerivedData/WebDriverAgent-ciegwgvxzxdrqthilmrmczmqvrgu/Build/Intermediates.noindex/XCBuildData/41cbaf1fe2310278fb3c9a049f6b7dc8-desc.xcbuild
note: Build preparation complete
note: Building targets in dependency order
Testing started
2022-02-25 01:13:13.528951+0530 WebDriverAgentRunner-Runner[1296:487378] Running tests...
Test Suite 'All tests' started at 2022-02-25 01:13:13.949
Test Suite 'WebDriverAgentRunner.xctest' started at 2022-02-25 01:13:13.949
Test Suite 'UITestingUITests' started at 2022-02-25 01:13:13.950
t = nans Suite Set Up
2022-02-25 01:13:13.981084+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
KeyboardAutocorrection
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
2022-02-25 01:13:13.981636+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
"KeyboardAutocorrection_changedAt"
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
2022-02-25 01:13:13.982059+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
"KeyboardAutocorrection_buildAtChange"
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
2022-02-25 01:13:13.982425+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
"KeyboardAutocorrection_previousValue"
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
2022-02-25 01:13:13.982751+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
"KeyboardAutocorrection_analyzedAt"
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
2022-02-25 01:13:13.990357+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
KeyboardPrediction
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
2022-02-25 01:13:13.990775+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
KeyboardShowPredictionBar
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
2022-02-25 01:13:13.991318+0530 WebDriverAgentRunner-Runner[1296:487378] [User Defaults] Couldn't write values for keys (
DidShowGestureKeyboardIntroduction
) in CFPrefsPlistSource<0x280582a00> (Domain: com.apple.keyboard.preferences, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: No): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
Test Case '-[UITestingUITests testRunner]' started.
t = 0.00s Start Test at 2022-02-25 01:13:13.992
t = 0.00s Set Up
2022-02-25 01:13:13.993946+0530 WebDriverAgentRunner-Runner[1296:487378] Built at Feb 25 2022 01:09:15
2022-02-25 01:13:14.009294+0530 WebDriverAgentRunner-Runner[1296:487378] ServerURLHere->http://192.168.101.4:8100<-ServerURLHere
2022-02-25 01:13:14.010070+0530 WebDriverAgentRunner-Runner[1296:487639] Using singleton test manager
2022-02-25 01:18:25.473278+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
t = 311.50s Find the Application 'com.apple.springboard'
t = 311.51s Requesting snapshot of accessibility hierarchy for app with pid 63
2022-02-25 01:18:26.519103+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
t = 312.53s Find the Application 'com.apple.springboard'
t = 312.53s Requesting snapshot of accessibility hierarchy for app with pid 63
2022-02-25 01:18:26.656315+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
t = 312.67s Get all elements bound by accessibility element for: Descendants matching type StatusBar
t = 312.67s Requesting snapshot of accessibility hierarchy for app with pid 63
t = 312.77s Find: Descendants matching type StatusBar
t = 312.78s Checking existence of `StatusBar`
t = 312.78s Requesting snapshot of accessibility hierarchy for app with pid 63
t = 312.87s Find: Descendants matching type StatusBar
t = 312.87s Find: Identity Binding
t = 312.87s Find the StatusBar
t = 312.88s Requesting snapshot of accessibility hierarchy for app with pid 63
t = 312.96s Find: Descendants matching type StatusBar
t = 312.96s Find: Identity Binding
2022-02-25 01:18:26.974700+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
t = 312.98s Requesting snapshot of accessibility hierarchy for app with pid 63
2022-02-25 01:18:27.074784+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
2022-02-25 01:18:27.087328+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
t = 313.10s Requesting snapshot of accessibility hierarchy for app with pid 63
2022-02-25 01:18:27.191684+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
2022-02-25 01:18:27.217950+0530 WebDriverAgentRunner-Runner[1296:487378] Getting the most recent active application (out of 1 total items)
2022-02-25 01:18:27.221305+0530 WebDriverAgentRunner-Runner[1296:487378] The following attributes were requested to be included into the XML: {(
FBNameAttribute,
FBHeightAttribute,
FBAccessibleAttribute,
FBValueAttribute,
FBVisibleAttribute,
FBWidthAttribute,
FBEnabledAttribute,
FBTypeAttribute,
FBYAttribute,
FBLabelAttribute,
FBIndexAttribute,
FBXAttribute
)}
2022-02-25 01:18:27.221497+0530 WebDriverAgentRunner-Runner[1296:487378] Waiting up to 2s until com.apple.springboard is in idle state (including animations)
t = 313.23s Wait for com.apple.springboard to idle
t = 313.23s Requesting snapshot of accessibility hierarchy for app with pid 63
attaching images of iphone,appium,and inspector-
[enter image description here][1]
[1]: https://i.stack.imgur.com/cz58Y.png
appium code-
The server is running
[Appium] Welcome to Appium v1.21.0
[Appium] Non-default server args:
[Appium] relaxedSecurityEnabled: true
[Appium] allowInsecure: {
[Appium] }
[Appium] denyInsecure: {
[Appium] }
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> GET /wd/hub/sessions
[HTTP] {}
[GENERIC] Calling AppiumDriver.getSessions() with args: []
[GENERIC] Responding to client with driver.getSessions() result: []
[HTTP] <-- GET /wd/hub/sessions 200 5 ms - 40
[HTTP]
[HTTP] --> POST /wd/hub/session
[HTTP] {"desiredCapabilities":{"NoReset":true,"autoLaunch":false,"automationName":"XCUITest","bundleId":"com.mcdonalds.gma.Arch","deviceName":"iPhone XR","fullReset":false,"platformName":"iOS","platformVersion":"14.7","udid":"00008020-000E08901EF9002E","newCommandTimeout":0,"connectHardwareKeyboard":true}}
[MJSONWP] Calling AppiumDriver.createSession() with args: [{"NoReset":true,"autoLaunch":false,"automationName":"XCUITest","bundleId":"com.mcdonalds.gma.Arch","deviceName":"iPhone XR","fullReset":false,"platformName":"iOS","platformVersion":"14.7","udid":"00008020-000E08901EF9002E","newCommandTimeout":0,"connectHardwareKeyboard":true},null,null]
[BaseDriver] Event 'newSessionRequested' logged at 1645732104338 (01:18:24 GMT+0530 (India Standard Time))
[Appium] Appium v1.21.0 creating new XCUITestDriver (v3.43.0) session
[Appium] Applying relaxed security to 'XCUITestDriver' as per server command line argument. All insecure features will be enabled unless explicitly disabled by --deny-insecure
[BaseDriver] Creating session with MJSONWP desired capabilities: {
[BaseDriver] "NoReset": true,
[BaseDriver] "autoLaunch": false,
[BaseDriver] "automationName": "XCUITest",
[BaseDriver] "bundleId": "com.mcdonalds.gma.Arch",
[BaseDriver] "deviceName": "iPhone XR",
[BaseDriver] "fullReset": false,
[BaseDriver] "platformName": "iOS",
[BaseDriver] "platformVersion": "14.7",
[BaseDriver] "udid": "00008020-000E08901EF9002E",
[BaseDriver] "newCommandTimeout": 0,
[BaseDriver] "connectHardwareKeyboard": true
[BaseDriver] }
[BaseDriver] The following capabilities were provided, but are not recognized by Appium:
[BaseDriver] NoReset
[BaseDriver] Session created with session id: f3731b63-8e2e-4be1-9c50-3f5774a79856
[XCUITest] Current user: 'taniya'
[XCUITest] Available devices: 00008020-000E08901EF9002E
[XCUITest] Creating iDevice object with udid '00008020-000E08901EF9002E'
[XCUITest] Determining device to run tests on: udid: '00008020-000E08901EF9002E', real device: true
[BaseDriver] Event 'xcodeDetailsRetrieved' logged at 1645732105240 (01:18:25 GMT+0530 (India Standard Time))
[BaseDriver] Event 'appConfigured' logged at 1645732105241 (01:18:25 GMT+0530 (India Standard Time))
[BaseDriver] Event 'resetStarted' logged at 1645732105241 (01:18:25 GMT+0530 (India Standard Time))
[XCUITest] Reset: running ios real device reset flow
[BaseDriver] Event 'resetComplete' logged at 1645732105241 (01:18:25 GMT+0530 (India Standard Time))
[WebDriverAgent] Using WDA path: '/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent'
[WebDriverAgent] Using WDA agent: '/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj'
[XCUITest] Crash reports root '/Users/Taniya/Library/Logs/CrashReporter/MobileDevice/Anu’s iPhone' does not exist. Got nothing to gather.
[BaseDriver] Event 'logCaptureStarted' logged at 1645732105481 (01:18:25 GMT+0530 (India Standard Time))
[XCUITest] Setting up real device
[WebDriverAgent] No obsolete cached processes from previous WDA sessions listening on port 8100 have been found
[DevCon Factory] Requesting connection for device 00008020-000E08901EF9002E on local port 8100, device port 8100
[DevCon Factory] Cached connections count: 0
[DevCon Factory] Successfully requested the connection for 00008020-000E08901EF9002E:8100
[XCUITest] Starting WebDriverAgent initialization with the synchronization key 'XCUITestDriver'
[WD Proxy] Matched '/status' to command name 'getStatus'
[WD Proxy] Proxying [GET /status] to [GET http://127.0.0.1:8100/status] with no body
[WD Proxy] Got response with status 200: {"value":{"message":"WebDriverAgent is ready to accept commands","state":"success","os":{"testmanagerdVersion":28,"name":"iOS","sdkVersion":"15.2","version":"15.3.1"},"ios":{"ip":"192.168.101.4"},"ready":true,"build":{"time":"Feb 25 2022 01:09:15","productBundleIdentifier":"com.facebook.WebDriverAgentRunner"}},"sessionId":null}
[WebDriverAgent] Upgrade timestamp of the currently bundled WDA: 1620631774000
[WebDriverAgent] Upgrade timestamp of the WDA on the device: undefined
[WebDriverAgent] Will reuse previously cached WDA instance at 'http://127.0.0.1:8100/' with 'com.facebook.WebDriverAgentRunner'. Set the wdaLocalPort capability to a value different from 8100 if this is an undesired behavior.
[XCUITest] Trying to start WebDriverAgent 1 times with 10000ms interval
[XCUITest] These values can be customized by changing wdaStartupRetries/wdaStartupRetryInterval capabilities
[BaseDriver] Event 'wdaStartAttempted' logged at 1645732105769 (01:18:25 GMT+0530 (India Standard Time))
[WebDriverAgent] Using provided WebdriverAgent at 'http://127.0.0.1:8100/'
[WD Proxy] Matched '/status' to command name 'getStatus'
[WD Proxy] Proxying [GET /status] to [GET http://127.0.0.1:8100/status] with no body
[WD Proxy] Got response with status 200: {"value":{"message":"WebDriverAgent is ready to accept commands","state":"success","os":{"testmanagerdVersion":28,"name":"iOS","sdkVersion":"15.2","version":"15.3.1"},"ios":{"ip":"192.168.101.4"},"ready":true,"build":{"time":"Feb 25 2022 01:09:15","productBundleIdentifier":"com.facebook.WebDriverAgentRunner"}},"sessionId":null}
[BaseDriver] Event 'wdaSessionAttempted' logged at 1645732105781 (01:18:25 GMT+0530 (India Standard Time))
[XCUITest] Sending createSession command to WDA
[WD Proxy] Matched '/session' to command name 'createSession'
[WD Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8100/session] with body: {"capabilities":{"firstMatch":[{"arguments":[],"environment":{},"eventloopIdleDelaySec":0,"shouldWaitForQuiescence":true,"shouldUseTestManagerForVisibilityDetection":false,"maxTypingFrequency":60,"shouldUseSingletonTestManager":true,"shouldTerminateApp":true}],"alwaysMatch":{}}}
[WD Proxy] Got response with status 200: {"value":{"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189","capabilities":{"device":"iphone","browserName":" ","sdkVersion":"15.3.1","CFBundleIdentifier":"com.apple.springboard"}},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[WD Proxy] Determined the downstream protocol as 'W3C'
[BaseDriver] Event 'wdaSessionStarted' logged at 1645732105983 (01:18:25 GMT+0530 (India Standard Time))
[BaseDriver] Event 'wdaStarted' logged at 1645732105983 (01:18:25 GMT+0530 (India Standard Time))
[XCUITest] Skipping setting of the initial display orientation. Set the "orientation" capability to either "LANDSCAPE" or "PORTRAIT", if this is an undesired behavior.
[BaseDriver] Event 'orientationSet' logged at 1645732105984 (01:18:25 GMT+0530 (India Standard Time))
[BaseDriver] The value of 'elementResponseAttributes' setting did not change. Skipping the update for it
[BaseDriver] The value of 'shouldUseCompactResponses' setting did not change. Skipping the update for it
[Appium] New XCUITestDriver session created successfully, session f3731b63-8e2e-4be1-9c50-3f5774a79856 added to master session list
[BaseDriver] Event 'newSessionStarted' logged at 1645732105985 (01:18:25 GMT+0530 (India Standard Time))
[MJSONWP (f3731b63)] Cached the protocol value 'MJSONWP' for the new session f3731b63-8e2e-4be1-9c50-3f5774a79856
[MJSONWP (f3731b63)] Responding to client with driver.createSession() result: {"webStorageEnabled":false,"locationContextEnabled":false,"browserName":"","platform":"MAC","javascriptEnabled":true,"databaseEnabled":false,"takesScreenshot":true,"networkConnectionEnabled":false,"NoReset":true,"autoLaunch":false,"automationName":"XCUITest","bundleId":"com.mcdonalds.gma.Arch","deviceName":"iPhone XR","fullReset":false,"platformName":"iOS","platformVersion":"14.7","udid":"00008020-000E08901EF9002E","newCommandTimeout":0,"connectHardwareKeyboard":true}
[HTTP] <-- POST /wd/hub/session 200 1648 ms - 544
[HTTP]
[HTTP] --> GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/contexts
[HTTP] {}
[MJSONWP (f3731b63)] Calling AppiumDriver.getContexts() with args: ["f3731b63-8e2e-4be1-9c50-3f5774a79856"]
[XCUITest] Executing command 'getContexts'
[XCUITest] Getting list of available contexts
[iOS] Retrieving contexts and views
[XCUITest] Selecting by url: false
[RemoteDebugger] Remote Debugger version 8.13.2
[RemoteDebugger] useNewSafari --> false
[RemoteDebugger] Checking which communication style to use (non-Safari on platform version '14.7')
[RemoteDebugger] Platform version equal or higher than '12.2': true
[RemoteDebugger] Setting communication protocol: using Target-based communication
[RemoteDebugger] Sending connection key request
[RemoteDebugger] Sending '_rpc_reportIdentifier:' message (id: 0): 'setConnectionKey'
[RemoteDebugger] Sending to Web Inspector took 3ms
[RemoteDebugger] Sending connection key request
[RemoteDebugger] Sending '_rpc_reportIdentifier:' message (id: 2): 'setConnectionKey'
[RemoteDebugger] Sending to Web Inspector took 3ms
[RemoteDebugger] Selecting application
[RemoteDebugger] No applications currently connected.
[XCUITest] No web frames found.
[MJSONWP (f3731b63)] Responding to client with driver.getContexts() result: ["NATIVE_APP"]
[HTTP] <-- GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/contexts 200 186 ms - 86
[HTTP]
[HTTP] --> GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/context
[HTTP] {}
[MJSONWP (f3731b63)] Calling AppiumDriver.getCurrentContext() with args: ["f3731b63-8e2e-4be1-9c50-3f5774a79856"]
[XCUITest] Executing command 'getCurrentContext'
[MJSONWP (f3731b63)] Responding to client with driver.getCurrentContext() result: "NATIVE_APP"
[HTTP] <-- GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/context 200 2 ms - 84
[HTTP]
[HTTP] --> GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856
[HTTP] {}
[MJSONWP (f3731b63)] Calling AppiumDriver.getSession() with args: ["f3731b63-8e2e-4be1-9c50-3f5774a79856"]
[XCUITest] Executing command 'getSession'
[WD Proxy] Matched '/' to command name 'getSession'
[WD Proxy] Proxying [GET /] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189] with no body
[WD Proxy] Got response with status 200: {"value":{"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189","capabilities":{"device":"iphone","browserName":" ","sdkVersion":"15.3.1","CFBundleIdentifier":"com.apple.springboard"}},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[WD Proxy] Proxying [GET /wda/screen] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189/wda/screen] with no body
[WD Proxy] Got response with status 200: {"value":{"statusBarSize":{"width":414,"height":48},"scale":2},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[WD Proxy] Proxying [GET /window/size] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189/window/size] with no body
[WD Proxy] Got response with status 200: {"value":{"width":414,"height":896},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[XCUITest] Merging WDA caps over Appium caps for session detail response
[MJSONWP (f3731b63)] Responding to client with driver.getSession() result: {"udid":"00008020-000E08901EF9002E","NoReset":true,"autoLaunch":false,"automationName":"XCUITest","bundleId":"com.mcdonalds.gma.Arch","deviceName":"iPhone XR","fullReset":false,"platformName":"iOS","platformVersion":"14.7","newCommandTimeout":0,"connectHardwareKeyboard":true,"device":"iphone","browserName":" ","sdkVersion":"15.3.1","CFBundleIdentifier":"com.apple.springboard","pixelRatio":2,"statBarHeight":48,"viewportRect":{"left":0,"top":96,"width":828,"height":1696}}
[HTTP] <-- GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856 200 582 ms - 546
[HTTP]
[HTTP] --> GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/window/current/size
[HTTP] {}
[MJSONWP (f3731b63)] Calling AppiumDriver.getWindowSize() with args: ["current","f3731b63-8e2e-4be1-9c50-3f5774a79856"]
[XCUITest] Executing command 'getWindowSize'
[WD Proxy] Proxying [GET /window/size] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189/window/size] with no body
[WD Proxy] Got response with status 200: {"value":{"width":414,"height":896},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[MJSONWP (f3731b63)] Responding to client with driver.getWindowSize() result: {"width":414,"height":896}
[HTTP] <-- GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/window/current/size 200 117 ms - 98
[HTTP]
[HTTP] --> POST /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/execute
[HTTP] {"script":"mobile:getContexts","args":[]}
[MJSONWP (f3731b63)] Calling AppiumDriver.execute() with args: ["mobile:getContexts",[],"f3731b63-8e2e-4be1-9c50-3f5774a79856"]
[XCUITest] Executing command 'execute'
[XCUITest] Getting list of available contexts
[iOS] Retrieving contexts and views
[XCUITest] Selecting by url: false
[RemoteDebugger] Sending connection key request
[RemoteDebugger] Sending '_rpc_reportIdentifier:' message (id: 4): 'setConnectionKey'
[RemoteDebugger] Sending to Web Inspector took 1ms
[RemoteDebugger] Selecting application
[RemoteDebugger] No applications currently connected.
[XCUITest] No web frames found.
[XCUITest] No webviews found in 1ms
[MJSONWP (f3731b63)] Responding to client with driver.execute() result: [{"id":"NATIVE_APP"}]
[HTTP] <-- POST /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/execute 200 3 ms - 93
[HTTP]
[HTTP] --> GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/source
[HTTP] {}
[MJSONWP (f3731b63)] Calling AppiumDriver.getPageSource() with args: ["f3731b63-8e2e-4be1-9c50-3f5774a79856"]
[XCUITest] Executing command 'getPageSource'
[WD Proxy] Matched '/source' to command name 'getPageSource'
[WD Proxy] Proxying [GET /source] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189/source] with no body
[WebDriverAgent] Parsed BUILD_DIR configuration value: '/Users/Taniya/Library/Developer/Xcode/DerivedData/WebDriverAgent-alwvnomvwrdtzoaxbbkniqrpcdpp/Build/Products'
[WebDriverAgent] Got derived data root: '/Users/Taniya/Library/Developer/Xcode/DerivedData/WebDriverAgent-alwvnomvwrdtzoaxbbkniqrpcdpp'
[WD Proxy] Got response with status 200: {"value":"\n\n \n \n \n \n \n \n
[MJSONWP (f3731b63)] Responding to client with driver.getPageSource() result: "\n \n \n \n \n \n \n
[HTTP] <-- GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/source 200 1759 ms - 20029
[HTTP]
[HTTP] --> GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/screenshot
[HTTP] {}
[MJSONWP (f3731b63)] Calling AppiumDriver.getScreenshot() with args: ["f3731b63-8e2e-4be1-9c50-3f5774a79856"]
[XCUITest] Executing command 'getScreenshot'
[XCUITest] Taking screenshot with WDA
[WD Proxy] Matched '/screenshot' to command name 'getScreenshot'
[WD Proxy] Proxying [GET /screenshot] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189/screenshot] with no body
[WD Proxy] Got response with status 500: {"value":{"error":"unable to capture screen","message":"A screen capture was made impossible","traceback":""},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[W3C] Matched W3C error code 'unable to capture screen' to UnableToCaptureScreen
[XCUITest] Error getting screenshot: A screen capture was made impossible
[XCUITest] Taking screenshot with WDA
[WD Proxy] Matched '/screenshot' to command name 'getScreenshot'
[WD Proxy] Proxying [GET /screenshot] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189/screenshot] with no body
[WD Proxy] Got response with status 500: {"value":{"error":"unable to capture screen","message":"A screen capture was made impossible","traceback":""},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[W3C] Matched W3C error code 'unable to capture screen' to UnableToCaptureScreen
[XCUITest] Taking screenshot with WDA
[WD Proxy] Matched '/screenshot' to command name 'getScreenshot'
[WD Proxy] Proxying [GET /screenshot] to [GET http://127.0.0.1:8100/session/AB8BF474-27EB-4C78-978E-83EBBAC4F189/screenshot] with no body
[WD Proxy] Got response with status 500: {"value":{"error":"unable to capture screen","message":"A screen capture was made impossible","traceback":""},"sessionId":"AB8BF474-27EB-4C78-978E-83EBBAC4F189"}
[W3C] Matched W3C error code 'unable to capture screen' to UnableToCaptureScreen
[MJSONWP (f3731b63)] Encountered internal error running command: UnableToCaptureScreen: A screen capture was made impossible
[MJSONWP (f3731b63)] at errorFromW3CJsonCode (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/errors.js:780:25)
[MJSONWP (f3731b63)] at ProxyRequestError.getActualError (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/errors.js:663:14)
[MJSONWP (f3731b63)] at JWProxy.command (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/jsonwp-proxy/proxy.js:272:19)
[MJSONWP (f3731b63)] at runMicrotasks ()
[MJSONWP (f3731b63)] at processTicksAndRejections (internal/process/task_queues.js:85:5)
[HTTP] <-- GET /wd/hub/session/f3731b63-8e2e-4be1-9c50-3f5774a79856/screenshot 500 1043 ms - 123
[HTTP]
pls help
Getting the below error when started Appium server on MAC.
[XCUITest] Executing command 'getScreenshot' [XCUITest] Taking screenshot with WDA [WD Proxy] Matched '/screenshot' to command name 'getScreenshot' [WD Proxy] Proxying [GET /screenshot] to [GET http://127.0.0.1:8100/session/DCB933A9-4D32-4CA3-8BC3-D2555E436DA8/screenshot] with no body [WD Proxy] Got response with status 500: {"value":{"error":"unable to capture screen","message":"A screen capture was made impossible","traceback":""},"sessionId":"DCB933A9-4D32-4CA3-8BC3-D2555E436DA8"} [W3C] Matched W3C error code 'unable to capture screen' to UnableToCaptureScreen [XCUITest] Error getting screenshot: A screen capture was made impossible [XCUITest] Taking screenshot with WDA [WD Proxy] Matched '/screenshot' to command name 'getScreenshot' [WD Proxy] Proxying [GET /screenshot] to [GET http://127.0.0.1:8100/session/DCB933A9-4D32-4CA3-8BC3-D2555E436DA8/screenshot] with no body [WD Proxy] Got response with status 500: {"value":{"error":"unable to capture screen","message":"A screen capture was made impossible","traceback":""},"sessionId":"DCB933A9-4D32-4CA3-8BC3-D2555E436DA8"} [W3C] Matched W3C error code 'unable to capture screen' to UnableToCaptureScreen [XCUITest] Taking screenshot with WDA [WD Proxy] Matched '/screenshot' to command name 'getScreenshot' [WD Proxy] Proxying [GET /screenshot] to [GET http://127.0.0.1:8100/session/DCB933A9-4D32-4CA3-8BC3-D2555E436DA8/screenshot] with no body [WD Proxy] Got response with status 500: {"value":{"error":"unable to capture screen","message":"A screen capture was made impossible","traceback":""},"sessionId":"DCB933A9-4D32-4CA3-8BC3-D2555E436DA8"} [W3C] Matched W3C error code 'unable to capture screen' to UnableToCaptureScreen [MJSONWP (03f67526)] Encountered internal error running command: UnableToCaptureScreen: A screen capture was made impossible [MJSONWP (03f67526)] at errorFromW3CJsonCode (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/errors.js:780:25) [MJSONWP (03f67526)] at ProxyRequestError.getActualError (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/errors.js:663:14) [MJSONWP (03f67526)] at JWProxy.command (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/jsonwp-proxy/proxy.js:272:19) [MJSONWP (03f67526)] at runMicrotasks () [MJSONWP (03f67526)] at processTicksAndRejections (internal/process/task_queues.js:85:5) [HTTP] <-- GET /wd/hub/session/03f67526-fd53-4743-96bd-8cbb9a23eafb/screenshot 500 1062 ms - 123 [HTTP]
What is your Appium version? Can you update Appium to the latest version and try again?
I know this problem has been fixed after 1.22 version.
I'm automizing tests for Android and iOS. Lately (probably after I've updated to appium 1.9.1 and java-client 6.1.0) I have issues with the iOS tests.
Many tests fail, because WebElements couldn't be found. I'm using WebDriverWait to find elements like in this example:
private WebElement getWebElement(By by, int timeOutInSeconds) {
return (new WebDriverWait(appiumDriver, timeOutInSeconds)).until(ExpectedConditions.presenceOfElementLocated(by));
}
The tests don't wait to find the element anymore. Instead an exception is thrown immediately.
I'm using XCUITest for iOS and uiautomator2 on android. On android the tests are still fine.
Edit (2018-10-29 18:33):
It feels like page factory is reporting the element is there, then randomElement.isDisplayed() will be executed on the element which throws directly an error, because it can't find the element.
And another observation:
In some cases the waiting duration works properly on iOS, but I couldn't find a pattern yet.
Edit (2018-12-14 15:56):
Still no solution found. Note: My tests make screenshots on failure. I can see on a lot of screenshots, the elements that caused the failure. The logs say they couldn't be found, but I can clearly see them on the screen. Makes no sense. Hoping for ideas!
Edit (2019-01-11 15:05):
In the logs, it looks like the element is found (response 200), but when I want to perform a click, it says it's 'not visible on the screen an thus not interactable'.
...
[HTTP] --> POST /wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/element
[HTTP] {"using":"id","value":"myapp"}
[debug] [W3C] Calling AppiumDriver.findElement() with args: ["id","buttonNext","59e9ace4-55a5-4b07-ad0e-af874dc42a6d"]
[debug] [XCUITest] Executing command 'findElement'
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, name, class name, -ios predicate string, -ios class chain, accessibility id
[debug] [BaseDriver] Waiting up to 0 ms for condition
[debug] [JSONWP Proxy] Matched '/element' to command name 'findElement'
[debug] [JSONWP Proxy] Proxying [POST /element] to [POST http://localhost:8100/session/CE691ADA-FC54-48AE-9AA0-1DA6212DB2CC/element] with body: {"using":"id","value":"buttonNext"}
[debug] [JSONWP Proxy] Got response with status 200: {"value":{"ELEMENT":"24010000-0000-0000-0308-000000000000"},"sessionId":"CE691ADA-FC54-48AE-9AA0-1DA6212DB2CC","status":0}
[debug] [W3C] Responding to client with driver.findElement() result: {"element-6066-11e4-a52e-4f735466cecf":"24010000-0000-0000-0308-000000000000"}
[HTTP] <-- POST /wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/element 200 180 ms - 88
[HTTP]
[HTTP] --> POST /wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/element/24010000-0000-0000-0308-000000000000/click
[HTTP] {"id":"24010000-0000-0000-0308-000000000000"}
[W3C] Driver proxy active, passing request on via HTTP proxy
[debug] [XCUITest] Executing command 'proxyReqRes'
[debug] [JSONWP Proxy] Matched '/wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/element/24010000-0000-0000-0308-000000000000/click' to command name 'click'
[debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/element/24010000-0000-0000-0308-000000000000/click] to [POST http://localhost:8100/session/CE691ADA-FC54-48AE-9AA0-1DA6212DB2CC/element/24010000-0000-0000-0308-000000000000/click] with body: {"id":"24010000-0000-0000-0308-000000000000"}
[debug] [JSONWP Proxy] Got response with status 200: {"value":"Error Domain=com.facebook.WebDriverAgent Code=1 \"The element '\"buttonNext\" Button' is not visible on the screen and thus is not interactable\" UserInfo={NSLocalizedDescription=The element '\"buttonNext\" Button' is not visible on the screen and thus is not interactable}","sessionId":"CE691ADA-FC54-48AE-9AA0-1DA6212DB2CC","status":13}
[debug] [W3C] Encountered internal error running command: ProxyRequestError: Could not proxy command to remote server. Original error: The request to /wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/element/24010000-0000-0000-0308-000000000000/click has failed
[debug] [W3C] at JWProxy.proxy$ (/usr/local/lib/node_modules/appium/node_modules/appium-base-driver/lib/jsonwp-proxy/proxy.js:182:13)
[debug] [W3C] at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
[debug] [W3C] at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
[debug] [W3C] at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
[debug] [W3C] at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[debug] [MJSONWP] Matched JSONWP error code 13 to UnknownError
[HTTP] <-- POST /wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/element/24010000-0000-0000-0308-000000000000/click 500 4875 ms - 1779
[HTTP]
[HTTP] --> GET /wd/hub/session/59e9ace4-55a5-4b07-ad0e-af874dc42a6d/screenshot
[HTTP] {}
...