java-client icon indicating copy to clipboard operation
java-client copied to clipboard

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/AcceptedW3CCapabilityKeys at io.appium.java_client.remote.NewAppiumSessionPayload.<clinit>(NewAppiumSessionPayload.java:98)

Open NewUserMob opened this issue 6 years ago • 16 comments

Description

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/AcceptedW3CCapabilityKeys at io.appium.java_client.remote.NewAppiumSessionPayload.(NewAppiumSessionPayload.java:98) at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:175) at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217) at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543) at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:130) at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:84) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:94) at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:95) at scr.main(scr.java:40) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.AcceptedW3CCapabilityKeys at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 15 more

Environment Appium :1.9.2 beta.2 Java client :7.0 Selenium server standalone :3.12.0 Details Not even hitting the appium server Throwing the below error Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/AcceptedW3CCapabilityKeys at io.appium.java_client.remote.NewAppiumSessionPayload.(NewAppiumSessionPayload.java:98) at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:175) at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217) at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543) at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:130) at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:84) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:94) at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:95) at scr.main(scr.java:40) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.AcceptedW3CCapabilityKeys at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 15 more Code To Reproduce Issue [ Good To Have ] import java.net.; import java.util.HashMap; import org.openqa.selenium.; import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.*; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.ios.IOSDriver;

public class scr {

@SuppressWarnings("rawtypes") public static AppiumDriver driver;

@SuppressWarnings("rawtypes")
public static void main(String[] args) throws MalformedURLException, InterruptedException{
	// TODO Auto-generated method stub
	DesiredCapabilities capability=new DesiredCapabilities();
	capability.setCapability("platformName","Android");
	capability.setCapability("platformVersion","8.0");
	capability.setCapability("automationName", "UIAutomator2");
	capability.setCapability("deviceName","Nexus 5X");
	capability.setCapability("noReset",true);
	capability.setCapability("bundleId","com.mcoe.UICatalog");
	capability.setCapability("appPackage","com.flipkart.android");
	capability.setCapability("appActivity","com.flipkart.android.SplashActivity");
	HashMap<String, String> customFindModules = new HashMap<>();
      customFindModules.put("ai", "test-ai-classifier");
      capability.setCapability("customFindModules", customFindModules);
      capability.setCapability("shouldUseCompactResponses", false); 
	 driver=new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capability);
	 driver.findElement(By.id("com.flipkart.android:id/mobileNo")).sendKeys("8870257316");
	 driver.findElement("-custom","ai:cart").click();
	 driver.quit();
}

}

NewUserMob avatar Feb 13 '19 06:02 NewUserMob

I have the same issue. Here is my setup:

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

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium-java</artifactId>
  <version>3.12.0</version>
</dependency>

With appium v1.11.0

GurkaranScene avatar Feb 15 '19 19:02 GurkaranScene

Pls remove selenium dependency. Java-client comes with selenium deps

saikrishna321 avatar Feb 15 '19 20:02 saikrishna321

I have removed the selenium dependancy. This has resolved the ava.lang.NoClassDefFoundError: org/openqa/selenium/remote/AcceptedW3CCapabilityKeys issue.

However now I am getting org.openqa.selenium.WebDriverException: Connection refused (Connection refused). I am using xcode 10.1 if that is relevant.

Edit: I uninstall and reinstalled the latest appium, and cut down my capabilities to only the necessities. Seems to be working correctly now. Will test a bit more and update if its any one capability causing the issue.

GurkaranScene avatar Feb 15 '19 21:02 GurkaranScene

Okay nevermind. org.openqa.selenium.WebDriverException: Connection refused (Connection refused). is being thrown 90% of the time when I start appium programmatically. When I use appium desktop it can launch the app no problem.

GurkaranScene avatar Feb 15 '19 22:02 GurkaranScene

@GurkaranScene Pls raise a new issue with full logs.

saikrishna321 avatar Feb 16 '19 13:02 saikrishna321

Hi, I'm getting the same log.

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/AcceptedW3CCapabilityKeys at io.appium.java_client.remote.NewAppiumSessionPayload.<clinit>(NewAppiumSessionPayload.java:98) at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:175) at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217) at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142) at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38) at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:84) at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:94) at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:95) at base.main(base.java:20) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.AcceptedW3CCapabilityKeys at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 15 more

and here's my code:

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.MobileCapabilityType;

public class base {

	public static void main(String[] args) throws MalformedURLException {
	
		File f = new File("src");
		File fs = new File(f,"ApiDemos-debug.apk");
		URL ServerURL = new URL("http://127.0.0.1:4723/wd/hub");
		
		DesiredCapabilities cap = new DesiredCapabilities();
		cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Demo");
		cap.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath());
		AndroidDriver<AndroidElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"),cap);
		
	} 

}

I've tried to remove seleniume.jars and relaunch eclipse and the emulator and I'm still into the same situation

malektesting avatar Mar 24 '19 20:03 malektesting

Removing selenium dependency and adding appium java client it is showing error in pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> 0.0.1-SNAPSHOT

<dependencies>


	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-java</artifactId>
		<version>1.2.5</version>
		<scope>test</scope>
	</dependency>
	<dependency>
		<groupId>com.vimalselvam</groupId>
		<artifactId>cucumber-extentsreport</artifactId>
		<version>3.0.2</version>
	</dependency>
	<dependency>
		<groupId>com.aventstack</groupId>
		<artifactId>extentreports</artifactId>
		<version>3.1.2</version>
	</dependency>

	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-jvm</artifactId>
		<version>1.2.5</version>
		<type>pom</type>
	</dependency>

	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-junit</artifactId>
		<version>1.2.5</version>
		<scope>test</scope>
	</dependency>

	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-jvm-deps</artifactId>
		<version>1.0.5</version>
	</dependency>
	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-testng</artifactId>
		<version>1.2.5</version>
	</dependency>

	<dependency>
		<groupId>net.masterthought</groupId>
		<artifactId>cucumber-reporting</artifactId>
		<version>1.0.0</version>
	</dependency>

	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>gherkin</artifactId>
		<version>2.12.2</version>
	</dependency>

	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>3.8.1</version>
		<scope>test</scope>
	</dependency>

	<dependency>
		<groupId>org.testng</groupId>
		<artifactId>testng</artifactId>
		<version>6.11</version>
		<scope>compile</scope>
	</dependency>

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

	<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-picocontainer -->
	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-picocontainer</artifactId>
		<version>1.2.5</version>
		<scope>test</scope>
	</dependency>
	<!-- https://mvnrepository.com/artifact/com.relevantcodes/extentreports -->
	<dependency>
		<groupId>com.relevantcodes</groupId>
		<artifactId>extentreports</artifactId>
		<version>2.41.2</version>
	</dependency>
</dependencies>
org.apache.maven.plugins maven-compiler-plugin ${jdk.level} ${jdk.level} org.apache.maven.plugins maven-surefire-plugin 2.18.1 testng.xml

harishtadikam avatar Apr 02 '19 10:04 harishtadikam

Multiple annotations found at this line: - Failure to transfer org.apache.httpcomponents:httpcore:jar:4.4.4 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.httpcomponents:httpcore:jar:4.4.4 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org org.eclipse.aether.transfer.ArtifactTransferException: Failure to transfer org.apache.httpcomponents:httpcore:jar:4.4.4 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.httpcomponents:httpcore:jar:4.4.4 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:238) at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:205) at org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:215) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:188) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:119) at org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java: 636) at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:63) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:530) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:492) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:1) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:496) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:351) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:298) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:405) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:352) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:349) at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56) - Failure to transfer commons-codec:commons-codec:jar:1.9 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact commons-codec:commons-codec:jar:1.9 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org org.eclipse.aether.transfer.ArtifactTransferException: Failure to transfer commons-codec:commons-codec:jar: 1.9 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact commons-codec:commons- codec:jar:1.9 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:238) at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:205) at org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:215) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:188) at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:119) at org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java: 636) at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:63) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:530) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:492) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:1) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:496) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:351) at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:298) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:405) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:352) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351) at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:349) at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

harishtadikam avatar Apr 02 '19 10:04 harishtadikam

I have fix the same issue with add this dependency: <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> 3.141.59

BaberWang avatar Aug 09 '19 03:08 BaberWang

Please help me... I am getting the following error while running first time to install the file: Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/AcceptedW3CCapabilityKeys at io.appium.java_client.remote.NewAppiumSessionPayload.(NewAppiumSessionPayload.java:98) at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:175) at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217) at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545) at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:209) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:132) at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:84) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:94) at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:95) at firstEmulator.FirstEmulator.main(FirstEmulator.java:33) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.AcceptedW3CCapabilityKeys at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 15 more

I am using: java-client-7.0.0 selenium-java-3.11.0 Appium v1.14.2commons-lang3-3.1

My Code is

package firstEmulator; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.MobileCapabilityType;

public class FirstEmulator {

public static void main(String[] args) throws MalformedURLException 
{
	
			File f =new File("src");
			File fs = new File(f,"ApiDemos-debug.apk");
			DesiredCapabilities cap = new DesiredCapabilities();
			cap.setCapability(MobileCapabilityType.DEVICE_NAME, "MySecondEmulator");
		       cap.setCapability(MobileCapabilityType.AUTOMATION_NAME,"uiautomator2");
			cap.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath());
			AndroidDriver<AndroidElement> driver=new AndroidDriver<>(new 
                                    URL("http://127.0.0.1:4723/wd/hub"), cap);

}

}

lkotla avatar Aug 30 '19 09:08 lkotla

@lkotla https://github.com/appium/java-client/issues/1108#issuecomment-464184429

saikrishna321 avatar Sep 01 '19 07:09 saikrishna321

I resolved this error by removing the dependency of selenium from my pom.xml Removed This dependency:

org.seleniumhq.selenium selenium-java 3.141.59

Now My Pom looks like: <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> 3.0.0 test

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.14.3</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>3.4.1</version>
</dependency>

qawithrahul avatar Sep 13 '19 18:09 qawithrahul

I resolved this error by removing the dependency of selenium from my pom.xml Removed This dependency:

org.seleniumhq.selenium selenium-java 3.141.59 Now My Pom looks like:

io.rest-assured rest-assured 3.0.0 test

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.14.3</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>3.4.1</version>
</dependency>

This solution worked for me

varmahi avatar Sep 20 '19 08:09 varmahi

You have to add a webdriver e.g.:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-firefox-driver</artifactId>
    <version>3.141.59</version>
</dependency>

org/openqa/selenium/remote/codec/w3c/W3CHttpCommandCodec is part of

<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-remote-driver</artifactId>
   <version>3.141.59</version>
</dependency>

which is a dependency from selenium-firefox-driver

(this information from stackoverflow helped me.)

Skaramus1990 avatar Sep 27 '19 07:09 Skaramus1990

Please suggest any solution,thanks

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/AcceptedW3CCapabilityKeys at io.appium.java_client.remote.NewAppiumSessionPayload.(NewAppiumSessionPayload.java:98) at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:175) at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217) at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:41) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219) at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:336) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:142) at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:37) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:88) at io.appium.java_client.AppiumDriver.(AppiumDriver.java:98) at io.appium.java_client.ios.IOSDriver.(IOSDriver.java:90) at iospackage.Example1.main(Example1.java:25) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.AcceptedW3CCapabilityKeys at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:604) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 16 more

Here is my code: package iospackage;

import java.net.MalformedURLException; import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.ios.IOSDriver; import io.appium.java_client.remote.MobileCapabilityType;

public class Example1 {

public static void main(String[] args) throws MalformedURLException {

	DesiredCapabilities dc=new DesiredCapabilities();
	
	dc.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
	dc.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
	dc.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.1");
	dc.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 7");
	dc.setCapability(MobileCapabilityType.APP, "/Users/ashishgupta/Library/Developer/Xcode/DerivedData/UICatalog-biyxyfuhxcmkaobapjqmvpdkenrh/Build/Products/Debug-iphonesimulator/UICatalog.app");

URL url=new URL("http://127.0.0.1:4723/wd/hub");

IOSDriver driver=new IOSDriver(url,dc);

}

}

testiosTester avatar Dec 19 '19 13:12 testiosTester

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/internal/JsonToWebElementConverter at appiumtests.Calculator.openCalculator(Calculator.java:49) at appiumtests.Calculator.main(Calculator.java:22) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.internal.JsonToWebElementConverter at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 2 more

My code is :

package appiumtests;

import java.net.URL;

import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.AppiumDriver;

public class Calculator {

static AppiumDriver<WebElement> driver;



public static void main(String[] args) {
	
	try{
		openCalculator();
	   }
	catch(Exception exp){
		System.out.println(exp.getCause());
		System.out.println(exp.getMessage());
		exp.printStackTrace();
		
	}
	
}


public static void openCalculator() throws Exception{
	
	DesiredCapabilities cap = new DesiredCapabilities();
	
	cap.setCapability("deviceName","Galaxy M21");
	cap.setCapability("udid", "RZ8N224NG1L");
	cap.setCapability("platformName", "Android");
	cap.setCapability("platformVersion", "12");
	
	cap.setCapability("appPackage", "com.tricolorcat.calculator1.11.1");
	cap.setCapability("appActivity", "com.tricolorcat.calculator.MainActivity");
	
	
	URL url = new URL("http://127.0.0.1:4723/wd/hub");	
	
	driver = new AppiumDriver<WebElement>(url, cap);
	
	System.out.println("Application Started....");
	
}

}

SachinSoni4619 avatar Oct 31 '22 06:10 SachinSoni4619