Webdriveragent: Enqueue Failure: Failure to determine system application: (null)

Created on 17 Oct 2018  路  20Comments  路  Source: facebookarchive/WebDriverAgent

Hi Team,

I have upgraded Mac os and appium version and now I am getting following error.

Environment Details:

  • Node: v8.9.4
  • Xcode: Version 10.0 (10A255)
  • Mac OS: Mac High Sieraa 10.13.6
  • Appium CLI: Appium v1.9.1 ( tried 1.8.1 and 1.9.2
    WebDriver.log
    @Beta version also)
  • Java-client: v6.1.0
  • Simulator or Real Device: Simulator ( 12.0 version)
[Xcode] 2018-10-17 08:43:10.362007+0530 WebDriverAgentRunner-Runner[27749:176540] Enqueue Failure: Failure fetching attributes for Device system-wide element: Error Domain=com.apple.XCTestErrorDomain Code=1000 "Timeout waiting for fulfillment of promise for 'Fetching attributes for Device system-wide element'." UserInfo={NSLocalizedDescription=Timeout waiting for fulfillment of promise for 'Fetching attributes for Device system-wide element'.} /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgentRunner/UITestingUITests.m 37 1
[Xcode] 
[Xcode] 2018-10-17 08:43:10.362721+0530 WebDriverAgentRunner-Runner[27749:176540] Enqueue Failure: Failure to determine system application: (null) /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgentRunner/UITestingUITests.m 37 1
[Xcode] 

The log is attached here

Update::
If I wait for 8 to 10 minutes then Execution start. Also noted that if WebDriverAgentRunner starts in background first time then execution start immediately. Now, if I start again without any change, it takes 8 to 10 minutes to start.

Observation is if I don't want to 8 to 10 minutes then I have to kill WebDriverAgentRunner from the background and start execution.

Most helpful comment

I feel like this issue is not bringing enough attention to it. (Almost 2 months old, same as others related to this)
However those who rely on WDA and need to have iOS 12 + Xcode 10 start to get frustrated with all this.
I think it would be good for us to really understand what can we do to bypass this issue.
All I see is scattered info which helps only in some specific cases.
For example, for my specific problem and setup (I'm using appium) using waitForQuiescence=false capability. It helped reduce from 6/8 minutes start up to 1 minute.
Not perfect, but better than nothing.
I will try to get more related issues to this one.

All 20 comments

I've the same issue, but in my case it's with a specific project. (I checked with other apps looking if I missed some config. but they're run fine)

I have same issue but only then I use appium screen recording.

appium: 1.9.1
java client: 6.1.0
ios: 11.3 (simulator)
xcode 10

This seems to be remedied a bit by using
"useNewWDA":true
in the capabilities for Appium.

My setup
appium: 1.9.2-beta.3
ios: 11.4 (simulator)
xcode: 10
node: 10.11.0

We would be really thankful if this could be tackled in a timely manner. Please also let me know if somebody has other workable workarounds (except waiting 8-10 minutes ;-) per startup)

In case anyone is still having the same problem, try upgrading everything (NPM, Appium, etc); I know it sounds obvious, but what's probably happened is that you've installed an OS upgrade that's not compatible with some component of the Appium/WebDriver setup. For me, the problem was carthage (brew update carthage) - an easy one to overlook. Hope this helps.

I have the same issue on my pretty freshly installed MacOS and latest apps.
My configuration:
MacOS 10.14.1
Appium 1.10.0
Xcode 10.1
iOS simulator 12.1
Java JDK 11.0.1
Node 11.4.0
Chromedriver 2.45
Carthage is also freshly installed.

Capability useNewWDA is set to true and I can see in Appium log it is really set and used.

My app is installed and started by appium also the webrdriver app is installed but my selenium Python test doesn't start to run as it times out on the application determination.

I feel like this issue is not bringing enough attention to it. (Almost 2 months old, same as others related to this)
However those who rely on WDA and need to have iOS 12 + Xcode 10 start to get frustrated with all this.
I think it would be good for us to really understand what can we do to bypass this issue.
All I see is scattered info which helps only in some specific cases.
For example, for my specific problem and setup (I'm using appium) using waitForQuiescence=false capability. It helped reduce from 6/8 minutes start up to 1 minute.
Not perfect, but better than nothing.
I will try to get more related issues to this one.

Hi guys,
Is there any workaround for this? I've been playing with the WDA timeouts:
wdaLaunchTimeout: 999999,
wdaConnectionTimeout:999999
or with the capability:
"useNewWDA":true

Sometimes works sometimes not. Eventually this issue keeps appearing and fixing it is tedious.
I would like to know if anybody had found a definitive workaround.
Thanks in advance..

I have also encountered this problem - I played with timeout values but found that
useNewWDA: true,
waitForQuiescence: false,
was the combination that allowed my tests to execute, it is still a bit slow but it does run the entire suite of tests reliably. I have added a detailed comment on #1047 with logs.

I have the same problem. After opening the application, wda errors appear and the autotest does not start for a very long time.

Environment Details:
Xcode: Version 10.2
Mac OS: Mojave 10.14.4
Appium desktop: v1.12.1
Simulator iPhone 6 (12.1 version)

Appium log:
appium-server-logs.txt

Capability:
capabilities.setCapability("deviceName", "iPhone 6");
capabilities.setCapability("udid", udidEmulator);
capabilities.setCapability("platformName", "IOS");
capabilities.setCapability("platformVersion", "12.1");
capabilities.setCapability("app", System.getProperty("path"));
capabilities.setCapability("automationName", "XCUITest");
capabilities.setCapability("newCommandTimeout", "600000");
capabilities.setCapability("connectHardwareKeyboard", false);
capabilities.setCapability("wdaEventloopIdleDelay", 3);
capabilities.setCapability("useNewWDA", true);
capabilities.setCapability("waitForQuiescence", false);

I need help.

@LilySmol, try increasing that wdaEventloopIdleDelay capability. I've noticed that in my case 3 seconds are not enough, so I have it set to 5.

@nenaddrop, thank you, wda error was gone, but the run is still very slow.

@LilySmol try setting the useNewWDA to false. If you are running multiple test scenario, this can increase the overall time of execution since WDA is getting re-installed for every new test. In what way are you experiencing the slowness?

@nenaddrop, I set the useNewWDA to false and added capabilities.setCapability("noReset", true). Driver initialization reduced to four minutes. I get a message when I initialize the driver:
[WD Proxy] Got an unexpected response: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"127.0.0.1","port":8100}
[WD Proxy] Matched '/status' to command name 'getStatus'
[WD Proxy] Proxying [GET /status] to [GET http://localhost:8100/status] with no body

@nenaddrop, I set the useNewWDA to false and added capabilities.setCapability("noReset", true). Driver initialization reduced to four minutes. I get a message when I initialize the driver:
[WD Proxy] Got an unexpected response: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"127.0.0.1","port":8100}
[WD Proxy] Matched '/status' to command name 'getStatus'
[WD Proxy] Proxying [GET /status] to [GET http://localhost:8100/status] with no body

This is happening because the appium server is trying to get the status from the WebDriverAgentRunner app that gets installed on your simulator, but the app might not be installed/running yet. If you want to make sure all is good, I would advise a re-install of the appium server (latest stable version) from npm (so that latest WebDriverAgent is installed alongside it) and remove the existing WDA app from your simulator (so a new fresh app can be installed). 4 minutes is still an awful lot.

Hi, I am also facing the issue when I try to execute scripts on iOS real devices

Error: Enqueue Failure: Failure getting list of active applications: Error Domain=com.apple.dt.XCTest.XCTFuture Code=1000 "Timeout waiting for fulfillment of promise for 'Fetching attributes 'XC_kAXXCAttributeFocusedApplications' for (null)'." UserInfo={NSLocalizedDescription=Timeout waiting for fulfillment of promise for 'Fetching attributes 'XC_kAXXCAttributeFocusedApplications' for (null)'.} /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgentRunner/UITestingUITests.m 37 1

Environment Details:
Xcode: Version 10.2
Mac OS: Mojave 10.14.3
Appium desktop: v1.12.1
Real Device iPhone 6 (12.1 version)

My Capabilities:

capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iphone7-test");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "IOS");
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.1.4");
capabilities.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath());
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.IOS_XCUI_TEST);
capabilities.setCapability("deviceOrientation", "portrait");
capabilities.setCapability("xcodeOrgId", "*");
capabilities.setCapability("xcodeSigningId", "
");
capabilities.setCapability("udid", "
");
capabilities.setCapability("updateWDABundleId", "
*
");
capabilities.setCapability("waitForQuiescence", false);
capabilities.setCapability("wdaEventloopIdleDelay", 5);
capabilities.setCapability("eventLoopIdleDelaySec", 1);
capabilities.setCapability("useJSONSource", true);
capabilities.setCapability("useNewWDA", false);
capabilities.setCapability("noReset", true);

It's taken almost 6 mins to start the execution. Please let me know anyone is there is any solution for this.

Hi, I am also getting below error

WebDriverAgentRunner-Runner[1861:65036] Enqueue Failure: Failure fetching attributes for (null): Error Domain=com.apple.XCTestErrorDomain Code=1000 "Timeout waiting for fulfillment of promise for 'Fetching attributes for (null)'." UserInfo={NSLocalizedDescription=Timeout waiting for fulfillment of promise for 'Fetching attributes for (null)'.} /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgentRunner/UITestingUITests.m
WebDriverAgentRunner-Runner[1861:65036] Enqueue Failure: Failure getting list of active applications: (null) /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgentRunner/UITestingUITests.m

Environment Details:
Xcode: Version 10.1
Mac OS: Mojave 10.13.6
Appium desktop: v1.12.1
Simulator Device iPhone 6 (12.1 version)

Capabilities:
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 6");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.1");
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.IOS_XCUI_TEST);
capabilities.setCapability(MobileCapabilityType.APP, "//Users//bbmobility//Desktop//bbdebug.app");
capabilities.setCapability("useNewWDA", "true");
capabilities.setCapability("waitForQuiescence", false);
capabilities.setCapability("autoAcceptAlerts", true);
capabilities.setCapability("wdaEventloopIdleDelay", 5);
capabilities.setCapability(IOSMobileCapabilityType.AUTO_ACCEPT_ALERTS, true);
capabilities.setCapability("showXcodeLog", true);

Environment Details :

  • MacOs Mojave 10.14.4
  • Appium Server 1.12.1
  • Xcode 10.2
  • Appium Java Client 6.1.0

Capabilities:
caps.setCapability("automationName", prop.getProperty("ios.automationName"));
caps.setCapability("platformVersion", prop.getProperty("ios.platformVersion"));
caps.setCapability("platformName", prop.getProperty("ios"));
caps.setCapability("deviceName", prop.getProperty("ios.deviceName"));
caps.setCapability("autoAcceptAlerts", prop.getProperty("ios.autoAcceptAlerts"));
caps.setCapability("showXcodeLog","true");
caps.setCapability("useNewWDA","true");
caps.setCapability("waitForQuietness","false");
caps.setCapability("wdaEventloopIdleDelay","3");
caps.setCapability("eventLoopIdleDelaySec", "1");
caps.setCapability("noReset", prop.getProperty("ios.noReset"));

Comments

  1. Manually, It works perfectly in appium desktop version 1.12.1
  2. I tried with various Xcode Versions ; but nothing helped(got errors like Couldn't identify simulators with particular versions. But they are actually installed)
  3. Tried removing capabilities "useNewWDA" and reduce the delay for capabilities("wdaEventloopIdleDelay & eventLoopIdleDelay)

I face the same problem and really struck with this issue for more than 3 days .. Please let me know the solution

Hello, after a long time without working with the ios automation, I tried again after my team made a change in the Splash/video and it was faster than the previous one and even that I saw in another forum this recommendation. so I'd like to recommend trying to verify your splash or make an updated.

I discovered the problem could be old version of WebDriverAgentRunner. I was using WebDriverAgentRunner in appium 1.9.1 which has significant delay at launch. After switching to WebDriverAgentRunner in appium 1.13.0 everything runs smoothly. No need to set waitForQuiescence to false.

I have also encountered this problem - I played with timeout values but found that
useNewWDA: true,
waitForQuiescence: false,
was the combination that allowed my tests to execute, it is still a bit slow but it does run the entire suite of tests reliably. I have added a detailed comment on #1047 with logs.

this worked for me, thanks

Was this page helpful?
0 / 5 - 0 ratings