Need help on Android and Web integration

30 views
Skip to first unread message

Trupti Hake

unread,
Jul 16, 2025, 10:56:06 PMJul 16
to Selenium Users
Hi Team,

I am building a testing framework for Web browser as well as Mobile as one bundle of solution.
I am using Maven architecture. I have added following dependencies in pom.xml


 <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-remote-driver</artifactId>
      <version>4.11.0</version> <!-- Match your Selenium version -->
    </dependency>
    <dependency>
      <groupId>io.appium</groupId>
      <artifactId>java-client</artifactId>
      <version>9.0.0</version>
    </dependency>
    <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>4.11.0</version>
    </dependency>

When I am doing: mvn clean install 
it is installing the libraries but while running a simple code giving me below error:


Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/mobile/NetworkConnection
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at com.Browsers.BaseClass.launchWeb(BaseClass.java:32)
at org.Testingg.firstTest.main(firstTest.java:8)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.mobile.NetworkConnection
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 20 more


I have observed Appium also using the Selenium internally is that causing the problem? Is there any possibility that we can run Mobile and Web in single framework?



Thanks,
Trupti  


Suriya Elamparithy

unread,
Jul 26, 2025, 2:49:53 AMJul 26
to Selenium Users
Java Client 9.0.0 is not stable with Selenium 4.11+ due to breaking changes.  

Update your POM.xml file
<dependencies>
  <!-- Selenium -->

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

  <!-- Appium Java Client (Use compatible version) -->

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

  <!-- TestNG or JUnit (Optional, if you're using it) -->
  <dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.9.0</version>
    <scope>test</scope>
  </dependency>
</dependencies>

   Also, remove selenium-remote-driver.  The selenium-java dependency already includes all required modules, such as remote-driver, webdriver, and support.  

Reply all
Reply to author
Forward
0 new messages