WebdriverAgent Xcode build log shows success but Appium disagrees

I’m using python language bindings
Main issue:
The appium server errors falsely at build time. the build log shows ** BUILD SUCEEDED ** but the shellscript is terminating with a -1

Side issue
AppiumDesktop worked perfectly fine yesterday, but today it fails to connect to the server, in the server log it shows something connecting to port 8100? which I assume is the webdriver - is there a way to manually kick the webdriver process dead to prevent this flakiness?

[WD Proxy] Proxying [GET /status] to [GET] with no body
[WD Proxy] connect ECONNREFUSED

Yes I am still on Appium server 1.22 (the latest inspector app for MacOS) is broken BTW you need to use last weeks build instead.

  1. I manually opened the WebDriverAgent project and build it’s targets just perfectly fine
  2. Is there a canonical guide, I’ve been watching youtube videos for 2 days now and very few people seem to ever share exact steps that solved their issues. Would love to know if re-installing mac OS will be a quicker solution. Or will updating to version 2 be more stable.

3 more things that are perplexing:
I installed server version 1.15 as well as 1.22, and appium-inspector connects fine to 1.15 , but just sits unable to see the webdriver when I start server version 1.22. I’m using this capabilities just to get connected in inspector
“platformName”: “iOS”,
“appium:automationName”: “XCUITest”,
“appium:udid”: “00008020-00065D62148A402E”,
“appium:xcodeOrgId”: “ZNCQ8JEH7X”,
“appium:xcodeSigningId”: “iPhone Developer”,
“appium:deviceName”: “HSET”,
“bundleId”: “com.apple.weather”

I’m now beginning to suspect that by having to versions of server installed I have a confusion going on. I’m not an “apple user”, and found the steps to do a simple thing like opening the project in xcode so convoluted and counter intuitive I have to assume some steps are missing in the documentation for example I found this helped me to open the xcode project (as a new user to the apple land I wasted 4 hours to find this tip hope it helps someone).

  1. open terminal and go
    cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
    open WebDriverAgent.xcodeproj

Any pointers on how to progress if I have multiple servers installed since I don’t understand the macOS filesystem I’m unsure how symlinks/links work , does appium know where to find the WebdriverAgent project? Basically when I execute

/usr/local/bin/appium --port 4729 --log-no-colors --log (somefile)

which server is the OS actually invoking? Because the stdout shows me

17:30:58 appium> stdout> [Appium] Welcome to Appium v1.13.0
17:30:58 appium> stdout> [Appium] Non-default server args:

…which is the same as the logfile (somefile), so this is rather indicating I have a 3rd appium server installed, or the server version numbers are not meaning what I think they do?

completely uninstalled i had 3 versions
also nobody reminded me that the webdriveragent is now a separate package you need to manually install yourself if you install appium 1.22.0 ? Separate? even appium-doctor never detected the missing driver sources?
npm cache verify
npm uninstall -g appium
npm install -f appium
npm install -g appium-webdriver
npm install -g appium-doctor

manually set JAVA_HOME and ANDROID_HOME in all the bash profiles


hope these steps help someone later.

This has not been the case for me. I usually find it under node_modules/appium/node_modules/appium-webdriveragent/. I clone the repo rather than NPM install, not sure how you are installing.

Well I had/found 3 copies installed in the end. 2 installed manually one installed via brew (Brew installs 1.20)
This was frustrating because I managed to get inspector working literally in a few hours, because this computer had appium set up 4 years ago and working. But the api bindings or something else were just toast after upgrading from Mojave to BigSur . After 2 days I got it working by installing via node, hence the 2 things I needed to run. I never figured out the cause of the false failure to build, perhaps that is a side effect of that it was running appium 1.13, against the latest xcode, and some xcode behaviours have probably changed in the interm.

I guess you clone the latest release? or some other, but since I am not a java coder at all, I am not even going to touch npm more than I have to in case I do mess it up, as it is I had broken my npm while I was working on a selenium project here already.

I’m resurrecting (I prefer not to use that word) , but rebooting some old test environment that got stopped 2 years ago (yes that magical date.) Hence have been quite rusty on how to set up. And yes I’ll have to grab Appium 2.0 once I get this 100% working. But just getting the driver to connect was worth celebrating, would not have gotten this far without the good tutorials on Linkedin by Jonathan (i forget last name).

We do it by tags, so

git clone

the repo and then

git checkout <tag>

Because I work with a couple of others, we will often move the node_modules directory to something like node_modules.BU and then install a newer version to test. If we all agree that everything is working, or we have all fixed any problems, then we agree to move to next version. Otherwise we might skip a version or 2, just depends on the amount of work that needs to get done and priorities.

We probably won’t move to 2.0 until there is a working GUI server. We use that and the inspector often.