Getting the error while launching Windows based application

java.util.concurrent.ExecutionException: org.openqa.selenium.UnsupportedCommandException: Build info: version: ‘3.141.59’, revision: ‘unknown’, time: ‘unknown’

System info: host: ‘WP-5CD3479ZF6’, ip: ‘192.168.1.10’, os.name: ‘Windows 11’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘17.0.7’

Driver info: io.appium.java_client.windows.WindowsDriver

Capabilities {app: C:\Program Files (x86)\Brit…, javascriptEnabled: true, platform: ANY, platformName: ANY}

Session ID: DE53656E-33C6-4997-A928-6CF0DF6EC4B7

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:49)

at com.kms.katalon.composer.windows.dialog.WindowsAppComposite$5.run(WindowsAppComposite.java:239)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

Caused by: org.openqa.selenium.UnsupportedCommandException: Build info: version: ‘3.141.59’, revision: ‘unknown’, time: ‘unknown’

System info: host: ‘WP-5CD3479ZF6’, ip: ‘192.168.1.10’, os.name: ‘Windows 11’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘17.0.7’

Driver info: io.appium.java_client.windows.WindowsDriver

Capabilities {app: C:\Program Files (x86)\Brit…, javascriptEnabled: true, platform: ANY, platformName: ANY}

Session ID: DE53656E-33C6-4997-A928-6CF0DF6EC4B7

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)

at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:586)

at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:46)

at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)

at io.appium.java_client.windows.WindowsDriver.execute(WindowsDriver.java:1)

at io.appium.java_client.HasSessionDetails.getSessionDetails(HasSessionDetails.java:39)

at io.appium.java_client.HasSessionDetails.getSessionDetail(HasSessionDetails.java:56)

at io.appium.java_client.HasSessionDetails.getPlatformName(HasSessionDetails.java:65)

at io.appium.java_client.internal.JsonToMobileElementConverter.(JsonToMobileElementConverter.java:49)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:89)

at io.appium.java_client.windows.WindowsDriver.(WindowsDriver.java:38)

at com.kms.katalon.core.windows.driver.WindowsDriverFactory.newWindowsDriver(WindowsDriverFactory.java:184)

at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:142)

at com.kms.katalon.composer.windows.spy.WindowsInspectorController.startApplication(WindowsInspectorController.java:149)

at com.kms.katalon.composer.windows.dialog.WindowsAppComposite$5$1.call(WindowsAppComposite.java:242)

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.startThreadAndWait(ProgressMonitorDialogWithThread.java:36)

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:48)

… 2 more

1 Like

kindly format code block for better readability

to resolve the UnsupportedCommandException when automating Windows apps in Katalon Studio:

1. Check WinAppDriver Compatibility

  • Ensure WinAppDriver is Running:
"C:\Program Files\Windows Application Driver\WinAppDriver.exe"
  • Verify it’s listening on http://127.0.0.1:4723.
  • Match Versions:
    • Use WinAppDriver ≥ 1.2.1 for Windows 11 support.
    • If using Appium Server, ensure it’s ≥ 2.0.0.

2. Update Appium/Selenium Dependencies

Modify your Katalon project’s build.gradle to use modern libraries:

dependencies {
  // For WinAppDriver (direct usage)
  implementation 'io.appium:java-client:8.6.0'  // Compatible with Selenium 4.x
  implementation 'org.seleniumhq.selenium:selenium-java:4.10.0'
}

Run gradle katalonCopyDependencies to apply changes.

3. Fix Desired Capabilities

Use these correct capabilities in your script:

import org.openqa.selenium.remote.DesiredCapabilities

// Start WinAppDriver session
DesiredCapabilities capabilities = new DesiredCapabilities()
capabilities.setCapability("app", "C:\\Path\\To\\YourApp.exe")
capabilities.setCapability("platformName", "Windows")
capabilities.setCapability("deviceName", "WindowsPC")
capabilities.setCapability("automationName", "Windows")  // Required for WinAppDriver

// For UWP apps, use:
// capabilities.setCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App")

WindowsDriver driver = new WindowsDriver(new URL("http://127.0.0.1:4723"), capabilities)

4. Adjust Katalon Settings

  • Disable Browser Integration:
    • Go to Project > Settings > Execution > Default > Web UI.
    • Uncheck Start WebDriver session when test starts (conflicts with WinAppDriver).

5. Troubleshoot Common Issues

  • Firewall/Antivirus: Allow WinAppDriver/Appium through Windows Defender.
  • Admin Privileges: Run Katalon Studio and WinAppDriver as Administrator.
  • Windows Updates: Ensure OS is updated (critical for WinAppDriver compatibility).
  • Session Cleanup: Add teardown script to close the driver:
@AfterTestCase
void closeSession() {
  if (driver != null) {
    driver.quit()
  }
}

6. Alternative: Use Appium Server

If using Appium instead of direct WinAppDriver:

  1. Install Appium Server v2.x:
npm install -g appium@next
  1. Start Appium with WinAppDriver:
appium --use-plugins=appium-windows-driver
  1. Update capabilities to:
capabilities.setCapability("appium:automationName", "windows")
capabilities.setCapability("appium:platformName", "Windows")

Error Cause

  • Outdated Libraries: Katalon’s default Selenium 3.x conflicts with newer WinAppDriver/Appium.
  • Incorrect Capabilities: platformName: ANY or missing automationName.
  • Port Conflicts: Another service using port 4723.