appium / appium/java-client

Appium with Java: Selenium 4.11.0 Appium 8.6.0 , Could not start a new session. Response code 400. Message: Missing command parameter: appId

Open
#2,202 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.3k
Forks
752
Avg merge
6d 21h
Merged PRs (30d)
8

Description

Description

I'm trying to run a simple test with java maven project, I already have installed winAppDriver, but I'm getting the following Error on WinAppDriver

`HTTP/1.1 400 Bad Request
Content-Length: 96
Content-Type: application/json

{"status":100,"value":{"error":"invalid argument","message":"Missing command parameter: appId"}}

==========================================
POST /session HTTP/1.1
Accept: /
Content-Length: 352
Content-Type: application/json; charset=utf-8
Host: 127.0.0.1:4723
User-Agent: appium/8.6.0 (selenium/4.13.0 (java windows))
X-Idempotency-Key: 4a972c32-fbeb-45f0-9cc2-5163d237b6af

HTTP/1.1 400 Bad Request
Content-Length: 96
Content-Type: application/json`

Environment

  • Java client build version or git revision if you use some snapshot: 4.11.0
  • Appium server version or git revision if you use some snapshot: 8.6.0
  • Desktop OS/version used to run Appium if necessary: Desktop Windows

Details

I use this link https://github.com/appium/java-client?tab=readme-ov-file#compatibility-matrix for the compatibility Issues,
I don't understand the "appId" parameters,

Code To Reproduce Issue [ Good To Have ]

`import io.appium.java_client.windows.WindowsDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.net.MalformedURLException;
import java.net.URL;
import java.time.Duration;
// https://github.com/appium/java-client?tab=readme-ov-file#compatibility-matrix
public class CalculatorTest {
private WindowsDriver driver;
@BeforeClass
public void setup() throws MalformedURLException {

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("app", "C:\\Windows\\System32\\notepad.exe");
    capabilities.setCapability("platformName", "Windows");
    capabilities.setCapability("deviceName", "WindowsPC");
    capabilities.setCapability("automationName", "Windows");
    driver = new WindowsDriver(new URL("http://127.0.0.1:4723/"), capabilities);
    driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
}

@Test
public void writeTest() {
    // Find the text area element and write "This is a test"
    WebElement editField = driver.findElement(By.id("Edit"));
    editField.sendKeys("This is a test");

    // Save the file
    driver.findElement(By.id("File")).click();
    driver.findElement(By.id("Save As...")).click();

    // Enter the file name
    WebElement fileNameField = driver.findElement(By.id("Edit"));
    fileNameField.sendKeys("testfile.txt");

    // Click the Save button
    driver.findElement(By.id("Save")).click();
}

@AfterClass
public void tearDown() {
    if (driver != null) {
        driver.quit();
    }
}

}
`

Exception Stacktraces

this is the Log Error:
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 400. Message: Missing command parameter: appId Host info: host: 'DESKTOP-4NSBAV2', ip: '192.168.56.1' Build info: version: '4.13.0', revision: 'ba948ece5b*' System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.15' Driver info: io.appium.java_client.windows.WindowsDriver Command: [null, newSession {capabilities=[{appium:app=C:\Windows\System32\notepad.exe, appium:automationName=Windows, appium:deviceName=WindowsPC, platformName=windows}], desiredCapabilities=Capabilities {app: C:\Windows\System32\notepad..., automationName: Windows, deviceName: WindowsPC, platformName: windows}}] Capabilities {app: C:\Windows\System32\notepad..., automationName: Windows, deviceName: WindowsPC, platformName: windows}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the setup method in CalculatorTest and compare the capabilities sent by WindowsDriver with the compatibility matrix and the WinAppDriver error showing a missing appId. Reproduce the POST /session request, then verify that a corrected session can launch Notepad and execute the test steps.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.