appium / java-client

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

Not able to start appium server in eclipse console #2200

Open Rahul1970 opened 1 month ago

Rahul1970 commented 1 month ago

I am using appium 2.11.2 version and node js version is v20.3.1. I am able to run appium server in cmd but not in eclipse console.I am attaching the console logs. Please help to resolve this issue. Let me know if anything else to share.

The path i am using in the config file is AppiumNodePath = C://Program Files//nodejs//node.exe AppiumPath=C://Users//Rahul.singh2//AppData//Roaming//npm//node_modules//appium//lib//main.js

io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException: The local appium server has not been started. The given Node.js executable: C:\Program Files\nodejs\node.exe Arguments: [C:\Users\Rahul.singh2\AppData\Roaming\npm\node_modules\appium\lib\main.js, --port, 4723, --address, 127.0.0.1, --log, D:\APPIUM\Automation\BusinessNextAutomation\target\resources\appium_server_logs47231, --base-path, /wd/hub/, --session-override] Process output: node:internal/errors:496 ErrorCaptureStackTrace(err); ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Users\Rahul.singh2\AppData\Roaming\npm\node_modules\appium\lib\logsink' imported from C:\Users\Rahul.singh2\AppData\Roaming\npm\node_modules\appium\lib\main.js at new NodeError (node:internal/errors:405:5) at finalizeResolution (node:internal/modules/esm/resolve:224:11) at moduleResolve (node:internal/modules/esm/resolve:837:10) at defaultResolve (node:internal/modules/esm/resolve:1035:11) at DefaultModuleLoader.resolve (node:internal/modules/esm/loader:269:12) at DefaultModuleLoader.getModuleJob (node:internal/modules/esm/loader:153:32) at ModuleWrap. (node:internal/modules/esm/module_job:76:33) at link (node:internal/modules/esm/module_job:75:36) { code: 'ERR_MODULE_NOT_FOUND' }

Node.js v20.3.1

at io.appium.java_client.service.local.AppiumDriverLocalService.start(AppiumDriverLocalService.java:182)
at com.crmnext.setUp.BaseClass.startService(BaseClass.java:200)
at com.crmnext.setUp.BaseClass.beforeClassSetup(BaseClass.java:68)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:62)
at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:385)
at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:321)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:317)
at org.testng.SuiteRunner.run(SuiteRunner.java:276)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1134)
at org.testng.TestNG.runSuites(TestNG.java:1063)
at org.testng.TestNG.run(TestNG.java:1031)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:293)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:91)

Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://127.0.0.1:4723/wd/hub/status] to be available after 20014 ms at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:89) at io.appium.java_client.service.local.AppiumDriverLocalService.ping(AppiumDriverLocalService.java:147) at io.appium.java_client.service.local.AppiumDriverLocalService.start(AppiumDriverLocalService.java:169) ... 21 more Caused by: java.util.concurrent.TimeoutException at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204) at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:87) ... 23 more

mykola-mokhnach commented 1 month ago

the error is expected. The main executable should be pointing to the build subfolder where transpired sources are located. Instead it is pointing to an untraspiled version of it, which obviously cannot be run as is.

Rahul1970 commented 1 month ago

Please suggest what has to be done.

eglitise commented 1 month ago

As Mykola said:

The main executable should be pointing to the build subfolder where transpired sources are located.

Try changing your AppiumPath from [..]appium//lib//main.js to [..]appium//build//lib//main.js.

Rahul1970 commented 1 month ago

Hi Mykola and eglitise thanks a lot for your help. Please also suggest where to put chromedriver exe file for handling webview in uiautomator2 driver and flutter driver. Their paths in appium 2 are C:\Users\Rahul.singh2.appium\node_modules\appium-flutter-driver\node_modules\appium-chromedriver C:\Users\Rahul.singh2.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-chromedriver. Also suggest what file to put in [Appium] Requiring driver at C:\Users\Rahul.singh2.appium\node_modules\appium-flutter-driver\build\lib\driver.js [Appium] Requiring driver at C:\Users\Rahul.singh2.appium\node_modules\appium-uiautomator2-driver\build\index.js these two locations

mykola-mokhnach commented 1 month ago

This is the place for issues. Please use Appium forum to ask questions

eglitise commented 1 month ago

Personally I just launch the Appium server with the --allow-insecure chromedriver_autodownload flag so I don't have to worry about the exact chromedriver version.