appium / java-client

Java language binding for writing Appium Tests, conforms to W3C WebDriver Protocol
Apache License 2.0
1.19k stars 755 forks source link

org.openqa.selenium.WebDriverException: Returned value cannot be converted to List<String>: {stacktrace=NoSuchDriverError: A session is either terminated or not started #2063

Open sesh0404 opened 8 months ago

sesh0404 commented 8 months ago

Do I have the most recent component updates?

Is the component officially supported by the Appium team?

Is there an existing issue for this?

Current Behavior

i am getting below error when i am below code

org.openqa.selenium.WebDriverException: Returned value cannot be converted to List: {stacktrace=NoSuchDriverError: A session is either terminated or not started

    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>9.0.0</version>
    </dependency>

uiautomator2@2.33.1

Expected Behavior

browser should launch

Minimal Reproducible Example

public static RemoteWebDriver driver; public static AndroidDriver androidDriver; public Properties props; public ChromeOptions chrOpts = new ChromeOptions();

public static RemoteWebDriver init_driver(String runType, String broswerType, String Url) throws MalformedURLException, InterruptedException { try { switch(runType) { case "mobile": UiAutomator2Options options = new UiAutomator2Options(); options.setDeviceName("Galaxy Note10 Lite"); options.setUdid("RF8N81RNYLH"); options.setPlatformVersion("10"); options.setAutomationName(AutomationName.ANDROID_UIAUTOMATOR2);//Optional options.setPlatformName("Android");//Optional options.setCapability("browserName", broswerType); options.setCapability("browserVersion", "119"); options.setCapability("appium:noReset", true); options.setNewCommandTimeout(Duration.ofSeconds(30));

            options.setNoReset(true);
            androidDriver=new AndroidDriver(new URL("http://127.0.0.1:4723"), options);
            androidDriver.get(Url);

            System.out.println(androidDriver.getContextHandles());
            androidDriver.findElement(By.id("details-button")).click();
            androidDriver.findElement(By.id("proceed-link")).click();
            Thread.sleep(1500);

            androidDriver.get("http://localhost:8123");
            androidDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
            driver = androidDriver;
            break;

Environment

Link to Appium Logs

TTP] {"desiredCapabilities":{"appium:noReset":true,"appium:udid":"RF8N81RNYLH","appium:newCommandTimeout":30,"browserVersion":"119","browserName":"chrome","appium:deviceName":"Galaxy Note10 Lite","platformName":"Android","appium:automationName":"UIAutomator2","appium:platformVersion":"10"}} [AppiumDriver@52ce] Calling AppiumDriver.createSession() with args: [{"appium:noReset":true,"appium:udid":"RF8N81RNYLH","appium:newCommandTimeout":30,"browserVersion":"119","browserName":"chrome","appium:deviceName":"Galaxy Note10 Lite","platformName":"Android","appium:automationName":"UIAutomator2","appium:platformVersion":"10"},null,null] [AppiumDriver@52ce] Event 'newSessionRequested' logged at 1698834879654 (16:04:39 GMT+0530 (India Standard Time)) [AppiumDriver@52ce] Encountered internal error running command: SessionNotCreatedError: A new session could not be created. Details: Session capabilities format must comply to the W3C standard. Make sure your client is up to date. See https://www.w3.org/TR/webdriver/#new-session for more details. [AppiumDriver@52ce] at makeNonW3cCapsError (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\lib\utils.js:31:10) [AppiumDriver@52ce] at AppiumDriver.createSession (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\lib\appium.js:260:32) [AppiumDriver@52ce] at commandExecutor (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\basedriver\driver.ts:107:18) [AppiumDriver@52ce] at AppiumDriver.executeCommand (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\basedriver\driver.ts:124:15) [AppiumDriver@52ce] at processTicksAndRejections (node:internal/process/task_queues:95:5) [AppiumDriver@52ce] at defaultBehavior (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\lib\appium.js:718:16) [AppiumDriver@52ce] at AppiumDriver.executeWrappedCommand (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\lib\appium.js:828:16) [AppiumDriver@52ce] at AppiumDriver.executeCommand (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\lib\appium.js:734:17) [AppiumDriver@52ce] at asyncHandler (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\protocol.js:393:19) [HTTP] <-- POST /session 500 57 ms - 1720 [HTTP] [HTTP] --> POST /session/null/url [HTTP] {"url":"https://10.17.108.155:8132"} [AppiumDriver@52ce] Encountered internal error running command: NoSuchDriverError: A session is either terminated or not started [AppiumDriver@52ce] at asyncHandler (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\protocol.js:315:15) [AppiumDriver@52ce] at C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\protocol.js:518:15 [AppiumDriver@52ce] at Layer.handle [as handle_request] (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\layer.js:95:5) [AppiumDriver@52ce] at next (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\route.js:144:13) [AppiumDriver@52ce] at Route.dispatch (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\route.js:114:3) [AppiumDriver@52ce] at Layer.handle [as handle_request] (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\layer.js:95:5) [AppiumDriver@52ce] at C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:284:15 [AppiumDriver@52ce] at param (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:365:14) [AppiumDriver@52ce] at param (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:376:14) [AppiumDriver@52ce] at Function.process_params (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:421:3) [AppiumDriver@52ce] at next (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:280:10) [AppiumDriver@52ce] at logger (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\morgan\index.js:144:5) [AppiumDriver@52ce] at Layer.handle [as handle_request] (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\layer.js:95:5) [AppiumDriver@52ce] at trim_prefix (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:328:13) [AppiumDriver@52ce] at C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:286:9 [AppiumDriver@52ce] at Function.process_params (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:346:12) [AppiumDriver@52ce] at next (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\express\lib\router\index.js:280:10) [AppiumDriver@52ce] at C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\body-parser\lib\read.js:137:5 [AppiumDriver@52ce] at AsyncResource.runInAsyncScope (node:async_hooks:203:9) [AppiumDriver@52ce] at invokeCallback (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\raw-body\index.js:238:16) [AppiumDriver@52ce] at done (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\raw-body\index.js:227:7) [AppiumDriver@52ce] at IncomingMessage.onEnd (C:\Users\lakshmanans\AppData\Roaming\npm\node_modules\appium\node_modules\raw-body\index.js:287:7) [AppiumDriver@52ce] at IncomingMessage.emit (node:events:514:28) [AppiumDriver@52ce] at endReadableNT (node:internal/streams/readable:1359:12) [AppiumDriver@52ce] at processTicksAndRejections (node:internal/process/task_queues:82:21) [HTTP] <-- POST /session/null/url 404 29 ms - 3404

Further Information

No response

sesh0404 commented 8 months ago

I could see desired capabilities in the appium log instead of capabilities. i am using Appium v2.2.1

{"desiredCapabilities":{"appium:noReset":true,"appium:udid":"RF8N81RNYLH","appium:newCommandTimeout":300,"browserVersion":"119","browserName":"chrome","appium:deviceName":"Galaxy Note10 Lite","platformName":"Android","appium:automationName":"UIAutomator2","appium:platformVersion":"10"}} [AppiumDriver@ece0] Calling AppiumDriver.createSession() with args: [{"appium:noReset":true,"appium:udid":"RF8N81RNYLH","appium:newCommandTimeout":300,"browserVersion":"119","browserName":"chrome","appium:deviceName":"Galaxy Note10 Lite","platformName":"Android","appium:automationName":"UIAutomator2","appium:platformVersion":"10"},null,null]

gocoolg commented 6 months ago

Im also facing similar issue after running certain number of testcases, facing this error in xcuitest

gocoolg commented 6 months ago

Any solutions to fix this issue ?

gocoolg commented 6 months ago

org.openqa.selenium.NoSuchSessionException: A session is either terminated or not started Build info: version: '4.13.0', revision: 'ba948ece5b*' System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '11.5', java.version: '11.0.11' Driver info: io.appium.java_client.ios.IOSDriver Command: [1729ea57-a327-497f-8dee-825b72db988e, quit {}] Capabilities {appium:automationName: XCUITest, appium:bundleId: com..mobile, appium:databaseEnabled: false, appium:deviceName: iPhone 14 Plus, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: false, appium:noReset: true, appium:takesScreenshot: true, appium:udid: 497F9916-AE32-4D94-B588-EB3..., appium:wdaLocalPort: 10002, appium:webStorageEnabled: false, appium:webkitDebugProxyPort: 11002, platformName: IOS} Session ID: 1729ea57-a327-497f-8dee-825b72db988e

valfirst commented 6 months ago

@gocoolg could you please attach Appium server log?