You might have some setup issues, revise your setup. Node Instalation and configuration, Java_home and everything else.
Here is my implementation. I;m just calling the startServer method in @BeforeSuite and stopServer in @AfterSuite.
APPIUM_PORT and LOG_LEVEL are constants defined in .properties file. Replace it with 4723 and error/debug/info
private static AppiumDriverLocalService service;
private static Logger log = LogManager.getLogger(AppiumSetup.class.getName());
public static void startServer(){
AppiumServiceBuilder builder;
log.info("Building and starting the server:");
builder = new AppiumServiceBuilder();
builder.usingPort(APPIUM_PORT);
builder.withCapabilities(capabilities);
builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
builder.withArgument(GeneralServerFlag.LOG_LEVEL, LogLevel);
service = AppiumDriverLocalService.buildService(builder);
service.start();
log.info("Server started on Port - " + APPIUM_PORT);
}
public static void stopServer() {
try {
log.info("Trying to stop the server...");
service.stop();
log.info("Success, Server stopped.");
} catch (Exception e) {
log.info("Appium server could not be stopped.");
}
}
thank you @Zuceac when i tried the code than you mentioned with the changes i am getting error like below
Caused by: java.lang.NullPointerException: Unable to find executable for: cmd.exe
@Zuzeac Thanks for your help. I could able to run appium manually from cmd and all my configurations are properly made. I figured that eclipse was not able to identify the path correctly, so adding the PATH in eclipse ease my work and the script is running.
Hi @Serena
AppiumDriverLocalService service;
service = new AppiumServiceBuilder().usingPort(port).build();
service.start();
this is the code i use now for starting the server through cmd. If you still get Null pointer exception i suggest you to check the configuration of the IDE that you use.