appium / java-client

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

Exception in thread "main" java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duration, org.openqa.selenium.remote.http.Filter, java.net.Proxy, org.openqa.selenium.Credentials)' #2044

Closed dipakkumar1225 closed 11 months ago

dipakkumar1225 commented 11 months ago

Description

Exception in thread "main" java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.(java.net.URI, java.time.Duration, java.time.Duration, org.openqa.selenium.remote.http.Filter, java.net.Proxy, org.openqa.selenium.Credentials)'

Environment

Code To Reproduce Issue [ Good To Have ]

public static void main(String[] args) {
        AppiumDriverLocalService appiumDriverLocalService = AppiumDriverLocalService.buildService(new AppiumServiceBuilder()
                .withIPAddress("127.0.0.1")
                .usingPort(4723)
                .withArgument(GeneralServerFlag.BASEPATH, "/wd/hub/")
                .withArgument(GeneralServerFlag.LOG_LEVEL, "info:debug")
                .withTimeout(Duration.ofSeconds(180))
                .withLogFile(new File("Logs" + File.separator + "Server.log")));
        appiumDriverLocalService.start();

        UiAutomator2Options uiAutomator2Options = new UiAutomator2Options()
                .setAutomationName(AutomationName.ANDROID_UIAUTOMATOR2)
                .setApp(System.getProperty("user.dir" + File.separator + "app" + File.separator + "android" + File.separator + "Android-MyDemoAppRN.1.3.0.build-244.apk"))
                .setFullReset(false)
                .setNoReset(true)
                .setPlatformName("android")
                .setPlatformVersion("13")
                .setUdid("emulator-5554")
                .setAppPackage("com.saucelabs.mydemoapp.rn")
                .setAppActivity("com.saucelabs.mydemoapp.rn.MainActivity");

        System.out.println("URL " + appiumDriverLocalService.getUrl());
        AppiumDriver appiumDriver = new AndroidDriver(appiumDriverLocalService.getUrl(), uiAutomator2Options);
        System.out.println("SessionID" + appiumDriver.getSessionId());
        appiumDriverLocalService.stop();
    }

Exception Stacktraces

Exception in thread "main" java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duration, org.openqa.selenium.remote.http.Filter, java.net.Proxy, org.openqa.selenium.Credentials)'
    at io.appium.java_client.AppiumClientConfig.<init>(AppiumClientConfig.java:62)
    at io.appium.java_client.AppiumClientConfig.defaultConfig(AppiumClientConfig.java:79)
    at io.appium.java_client.remote.AppiumCommandExecutor.<init>(AppiumCommandExecutor.java:109)
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:101)
    at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:113)
    at com.automation.Demo.main(Demo.java:40)

Link To Appium Logs

Tried to attach logging to file 'D:\Trial\Logs\Server.log' but an error occurred: EBUSY: resource busy or locked, unlink 'D:\Trial\Logs\Server.log'
[Appium] Welcome to Appium v2.1.3
[Appium] Non-default server args:
[Appium] { address: '127.0.0.1', basePath: '/wd/hub/', loglevel: 'info:debug' }
[Appium] Attempting to load driver uiautomator2...
[Appium] Attempting to load driver espresso...
[Appium] Appium REST http interface listener started on http://127.0.0.1:4723/wd/hub
[Appium] Available drivers:
[Appium]   - uiautomator2@2.29.9 (automationName 'UiAutomator2')
[Appium]   - espresso@2.25.7 (automationName 'Espresso')
[Appium] Available plugins:
[Appium]   - images@2.1.4
[Appium]   - element-wait@2.0.3
[Appium]   - gestures@3.0.0
[Appium]   - appium-dashboard@v2.0.2
[Appium] No plugins activated. Use the --use-plugins flag with names of plugins to activate
[HTTP] --> GET /wd/hub/status
[HTTP] {}
[HTTP] <-- GET /wd/hub/status 200 5 ms - 110
[HTTP] 
valfirst commented 11 months ago

By lowering the selenium version to 4.13.0, it works, but not with 4.14.0 or 4.14.1.

Please check the compatibility matrix

Mahendra-Adda commented 11 months ago

i faced the same issue tried By lowering the selenium version to 4.13.0 and other versions still facing the issue.

JuscaMolaiwa commented 8 months ago

I am facing the same issue, did you guys get any solution for this?

valfirst commented 8 months ago

@JuscaMolaiwa please make sure to use compatible versions of Appium and Selenium Java clients.