appium-windows-driver icon indicating copy to clipboard operation
appium-windows-driver copied to clipboard

Getting HTTP 500 errors despite both servers running

Open cortosi opened this issue 5 months ago • 6 comments

I'm pretty new to Windows desktop automation and I'm stuck on what should be a basic setup.

Background & Context

I just started learning Windows desktop automation and discovered that WinAppDriver became obsolete starting with Appium 5.0.0. From what I understand, Appium now acts as a proxy toWinAppDriver, so both services need to be running simultaneously. This is where my problems begin.

Since both Appium and WinAppDriver try to use port 4723 by default, I'm running:

  • Appium Server: on port 4724 (to avoid conflicts)
  • WinAppDriver: on port 4723
namespace CalculatorTest
{
    public class CalculatorSession
    {
        private const string AppiumServerUrl = "http://127.0.0.1:4724/";
        private const string CalculatorID = "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App";

        protected static WindowsDriver session;

        public static void Main()
        {
            AppiumOptions appiumOptions = new AppiumOptions
            {
                App = CalculatorID,
                PlatformName = "Windows",
                AutomationName = "Windows"
            };

            appiumOptions.AddAdditionalAppiumOption("appium:wadUrl", "http://127.0.0.1:4723");

            session = new WindowsDriver(new Uri(AppiumServerUrl), appiumOptions);

            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);

            session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
        }
    }
}

The Problem - Two Different Errors

Error from my C# Application:

Unhandled Exception: OpenQA.Selenium.UnknownErrorException: An unknown server-side error occurred while processing the command. Original error: WinAppDriver server is not listening at http://127.0.0.1:4723. Make sure it is running and the provided wadUrl is correct
   at OpenQA.Selenium.WebDriver.UnpackAndThrowOnError(Response errorResponse, String commandToExecute)
   at OpenQA.Selenium.WebDriver.<ExecuteAsync>d__63.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at OpenQA.Selenium.WebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Appium.AppiumDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.WebDriver.StartSession(ICapabilities capabilities)
   at OpenQA.Selenium.WebDriver..ctor(ICommandExecutor executor, ICapabilities capabilities)
   at OpenQA.Selenium.Appium.AppiumDriver..ctor(Uri remoteAddress, ICapabilities appiumOptions)
   at OpenQA.Selenium.Appium.Windows.WindowsDriver..ctor(Uri remoteAddress, AppiumOptions AppiumOptions)
   at CalculatorTest.CalculatorSession.Main() in C:\Users\vitto\source\repos\ConsoleApp1\ConsoleApp1\Program.cs:line 26

C:\Users\vitto\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe (process 127192) exited with code -532462766 (0xe0434352).

Error from WinAppDriver Console:

GET /status HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, compress, deflate, br
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Host: 127.0.0.1:4723
User-Agent: appium


HTTP/1.1 500 Internal Error
Content-Length: 133
Content-Type: application/json

{"status":13,"value":{"error":"unknown error","message":"An unknown error occurred in the remote end while processing the command."}}

cortosi avatar Jul 19 '25 08:07 cortosi

Could you share the appium server log as well?

KazuCocoa avatar Jul 21 '25 02:07 KazuCocoa

There you go @KazuCocoa :

[AppiumDriver@c7e4] Calling AppiumDriver.createSession() with args: [null,null,{"firstMatch":[{"platformName":"Windows","appium:app":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App","appium:automationName":"Windows","appium:wadUrl":"http://127.0.0.1:4723"}]}]
[AppiumDriver@c7e4] Event 'newSessionRequested' logged at 1753166224095 (08:37:04 GMT+0200 (Central European Summer Time))
[Appium] Attempting to find matching driver for automationName 'Windows' and platformName 'Windows'
[Appium] The 'windows' driver was installed and matched caps.
[Appium] Will require it at C:\Users\vitto\.appium\node_modules\appium-windows-driver
[Appium] Requiring driver at C:\Users\vitto\.appium\node_modules\appium-windows-driver\build\index.js
[AppiumDriver@c7e4] Appium v2.18.0 creating new WindowsDriver (v4.4.2) session
[AppiumDriver@c7e4] Checking BaseDriver versions for Appium and WindowsDriver
[AppiumDriver@c7e4] Appium's BaseDriver version is 9.17.0
[AppiumDriver@c7e4] WindowsDriver's BaseDriver version is 9.17.0
[WindowsDriver@8756]
[WindowsDriver@8756] Creating session with W3C capabilities: {
  "alwaysMatch": {
    "platformName": "Windows",
    "appium:app": "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App",
    "appium:automationName": "Windows",
    "appium:wadUrl": "http://127.0.0.1:4723"
  },
  "firstMatch": [
    {}
  ]
}
[05f2b5b9][WindowsDriver@8756] Session created with session id: 05f2b5b9-87b8-45cf-bc44-a42d4386d432
[05f2b5b9][WindowsDriver@8756] Using custom WinAppDriver server URL: http://127.0.0.1:4723
[05f2b5b9][WindowsDriver@8756] WADProxy options: {"scheme":"http","server":"127.0.0.1","port":4723,"base":"","reqBasePath":"","sessionId":null,"timeout":240000}
[05f2b5b9][WindowsDriver@8756] Matched '/status' to command name 'getStatus'
[05f2b5b9][WindowsDriver@8756] Proxying [GET /status] to [GET http://127.0.0.1:4723/status] with no body
[05f2b5b9][WindowsDriver@8756] Got response with status 500: {"status":13,"value":{"error":"unknown error","message":"An unknown error occurred in the remote end while processing the command."}}
[05f2b5b9][W3C] Matched W3C error code 'unknown error' to UnknownError
[05f2b5b9][WindowsDriver@8756] Deleting WinAppDriver session
[05f2b5b9][AppiumDriver@c7e4] Event 'newSessionStarted' logged at 1753166224156 (08:37:04 GMT+0200 (Central European Summer Time))
[05f2b5b9][AppiumDriver@c7e4] Encountered internal error running command: Error: WinAppDriver server is not listening at http://127.0.0.1:4723. Make sure it is running and the provided wadUrl is correct
    at WinAppDriver._prepareSessionWithCustomServer (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\winappdriver.js:250:13)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at WinAppDriver.start (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\winappdriver.js:145:7)
    at WindowsDriver.startWinAppDriverSession (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\driver.js:129:5)
    at WindowsDriver.createSession (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\driver.js:115:7)
    at AppiumDriver.createSession (C:\Users\vitto\AppData\Roaming\npm\node_modules\appium\lib\appium.js:392:35)
[05f2b5b9][HTTP] <-- POST /session 500 69 ms - 808

cortosi avatar Jul 22 '25 06:07 cortosi

Could you share the full appium server log?

KazuCocoa avatar Jul 23 '25 06:07 KazuCocoa

It looks like winappdriver is not running/listening on http://127.0.0.1:4723 at the time a new session is started. Did you try to check the connection to WAD server using other tools, like curl?

mykola-mokhnach avatar Jul 23 '25 06:07 mykola-mokhnach

Could you share the full appium server log?

C:\Users\vitto>appium -p 4724
[Appium] Welcome to Appium v2.18.0
[Appium] Non-default server args:
[Appium] {
  port: 4724
}
[Appium] The autodetected Appium home path: C:\Users\vitto\.appium
[Appium] Attempting to load driver windows...
[Appium] Requiring driver at C:\Users\vitto\.appium\node_modules\appium-windows-driver\build\index.js
[Appium] WindowsDriver has been successfully loaded in 0.045s
[Appium] Appium REST http interface listener started on http://0.0.0.0:4724
[Appium] You can provide the following URLs in your client code to connect to this server:
        http://192.168.1.5:4724/
        http://127.0.0.1:4724/ (only accessible from the same host)
[Appium] Available drivers:
[Appium]   - [email protected] (automationName 'Windows')
[Appium] No plugins have been installed. Use the "appium plugin" command to install the one(s) you want to use.
[HTTP] Request idempotency key: 51ee52c8-e10c-4ae6-ab5d-b1aeb3bb538b
[HTTP] --> POST /session {"capabilities":{"firstMatch":[{"platformName":"Windows","appium:app":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App","appium:automationName":"Windows","appium:wadUrl":"http://127.0.0.1:4723"}]}}
[AppiumDriver@bd68] Calling AppiumDriver.createSession() with args: [null,null,{"firstMatch":[{"platformName":"Windows","appium:app":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App","appium:automationName":"Windows","appium:wadUrl":"http://127.0.0.1:4723"}]}]
[AppiumDriver@bd68] Event 'newSessionRequested' logged at 1753465952230 (19:52:32 GMT+0200 (Central European Summer Time))
[Appium] Attempting to find matching driver for automationName 'Windows' and platformName 'Windows'
[Appium] The 'windows' driver was installed and matched caps.
[Appium] Will require it at C:\Users\vitto\.appium\node_modules\appium-windows-driver
[Appium] Requiring driver at C:\Users\vitto\.appium\node_modules\appium-windows-driver\build\index.js
[AppiumDriver@bd68] Appium v2.18.0 creating new WindowsDriver (v4.4.2) session
[AppiumDriver@bd68] Checking BaseDriver versions for Appium and WindowsDriver
[AppiumDriver@bd68] Appium's BaseDriver version is 9.17.0
[AppiumDriver@bd68] WindowsDriver's BaseDriver version is 9.17.0
[WindowsDriver@9dfe]
[WindowsDriver@9dfe] Creating session with W3C capabilities: {
  "alwaysMatch": {
    "platformName": "Windows",
    "appium:app": "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App",
    "appium:automationName": "Windows",
    "appium:wadUrl": "http://127.0.0.1:4723"
  },
  "firstMatch": [
    {}
  ]
}
[93367918][WindowsDriver@9dfe] Session created with session id: 93367918-e6b7-4374-bf5d-d3d2eb612e4f
[93367918][WindowsDriver@9dfe] Using custom WinAppDriver server URL: http://127.0.0.1:4723
[93367918][WindowsDriver@9dfe] WADProxy options: {"scheme":"http","server":"127.0.0.1","port":4723,"base":"","reqBasePath":"","sessionId":null,"timeout":240000}
[93367918][WindowsDriver@9dfe] Matched '/status' to command name 'getStatus'
[93367918][WindowsDriver@9dfe] Proxying [GET /status] to [GET http://127.0.0.1:4723/status] with no body
[93367918][WindowsDriver@9dfe] Got response with status 500: {"status":13,"value":{"error":"unknown error","message":"An unknown error occurred in the remote end while processing the command."}}
[93367918][W3C] Matched W3C error code 'unknown error' to UnknownError
[93367918][WindowsDriver@9dfe] Deleting WinAppDriver session
[93367918][AppiumDriver@bd68] Event 'newSessionStarted' logged at 1753465952291 (19:52:32 GMT+0200 (Central European Summer Time))
[93367918][AppiumDriver@bd68] Encountered internal error running command: Error: WinAppDriver server is not listening at http://127.0.0.1:4723. Make sure it is running and the provided wadUrl is correct
    at WinAppDriver._prepareSessionWithCustomServer (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\winappdriver.js:250:13)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at WinAppDriver.start (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\winappdriver.js:145:7)
    at WindowsDriver.startWinAppDriverSession (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\driver.js:129:5)
    at WindowsDriver.createSession (C:\Users\vitto\.appium\node_modules\appium-windows-driver\lib\driver.js:115:7)
    at AppiumDriver.createSession (C:\Users\vitto\AppData\Roaming\npm\node_modules\appium\lib\appium.js:392:35)
[93367918][HTTP] <-- POST /session 500 68 ms - 808

Sorry for thelate answer

cortosi avatar Jul 25 '25 17:07 cortosi

https://www.youtube.com/watch?v=3kxJ1k7iEcE

I made this if needed..

cortosi avatar Jul 25 '25 18:07 cortosi