Getting HTTP 500 errors despite both servers running
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."}}
Could you share the appium server log as well?
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
Could you share the full appium server log?
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?
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
https://www.youtube.com/watch?v=3kxJ1k7iEcE
I made this if needed..