I am getting below error while executing a simple appium script to launch an app:
“Exception in thread “main” java.lang.NoClassDefFoundError: io/appium/java_client/AppiumDriver
at com.android.app.App.main(App.java:30)
Caused by: java.lang.ClassNotFoundException: io.appium.java_client.AppiumDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 1 more”
Script is as below:
package com.android.app;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.WebDriverWait;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
public class App
{
//public static AppiumDriver driver;
private static WebDriver driver;
public static void main(String[] args) throws MalformedURLException, InterruptedException {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "Nexus One API Q");
caps.setCapability("udid", "emulator-5554"); //DeviceId from "adb devices" command
caps.setCapability("platformName", "Android");
caps.setCapability("platformVersion", "Q");
caps.setCapability("skipUnlock","true");
caps.setCapability("appPackage", "com.android.calculator2");
caps.setCapability("appActivity","com.android.calculator2.Calculator");
caps.setCapability("noReset","false");
driver = new AppiumDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"),caps);
//driver = new AndroidDriver<MobileElement>(new URL("http://localhost:4723/wd/hub"),caps);
WebDriverWai t wait = new WebDriverWait(driver, 10);
}
}