web-dev-qa-db-fra.com

java.lang.NoClassDefFoundError: org/openqa/Selenium/remote/SessionNotFoundException

J'utilise Firefox 45.0 et la dépendance ajoutée dans pom.xml est Selenium-firefox-driver 2.53.0.

Java.lang.NoClassDefFoundError: org/openqa/Selenium/remote/SessionNotFoundException
    at TestFIles_MDM.Test_Authn.setup(Test_Authn.Java:27)

Une erreur est à venir pour Firefox et Chrome.

Comment puis-je résoudre le problème, cela fonctionnait la semaine dernière.

4
rich

Je pense que vous manquez cette dépendance dans pom.xml:

<dependency>
    <groupId>org.seleniumhq.Selenium</groupId>
    <artifactId>Selenium-Java</artifactId>
    <version>2.53.0</version>
</dependency>  

Consultez la documentation de Selenium sur les dépendances Maven

3
Kiril S.

Exécutez mvn dependency:tree dans votre projet et vérifiez ce qui est transitoirement dépendant de Selenium-remote-driver.

Dans mon projet, je dépendais correctement de Selenium-Java à 2.53.1, mais une autre dépendance de test dépendait d'une version plus ancienne (2.40.0); cela signifiait que mes tests utilisaient la version 2.40.0 de Selenium-remote-driver au moment de l'exécution, ce qui provoque l'erreur Java.lang.NoClassDefFoundError: org/openqa/Selenium/remote/SessionNotFoundException.

Si vous avez des dépendances transitives sur Selenium-remote-driver, vous avez deux options pour les "réparer":

  1. Mettez à jour l'artefact qui dépend de l'ancienne version sur .
    • Ne dépend pas de l'artefact du tout, ou
    • Utilisez la dernière version.
  2. Ajoutez une entrée dans la section pom.xml de votre <dependencyManagement> pour Selenium-Java afin d'assembler l'artefact à la version 2.53.1

    Cela affectera la version de Selenium-Java à la fois dans votre projet et toutes vos dépendances maven imbriquées également; Sachez que ces artefacts imbriqués peuvent ne pas fonctionner correctement avec la dernière version!

Il convient également de mentionner que Selenium-Java version 2.53.0 avait un problème d’incompatibilité avec Firefox; la version 2.53.1 aurait corrigé cela. Voir http://seleniumsimplified.com/2016/06/use_Selenium_webdriver_jar_locally/ pour plus de détails.

J'espère que cela t'aides :)

2
Chris

Voilà, ça a marché pour moi. Il suffit de mettre à jour la dépendance Selenium-Java dans pom.xml

<!--  Selenium Java-jar dependency -->

<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-Java</artifactId>
<version>2.53.1</version>
</dependency>

Ou voici le lien pour obtenir la version mise à jour - https://mvnrepository.com/artifact/org.seleniumhq.Selenium/selenium-Java

2
Shivam

Cela m'est arrivé lors de la mise à jour du pilote distant vers la version 3.0.1 à partir de la version 2.53.1. Je viens de revenir à 2.53.1 et il est parti

<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-remote-driver</artifactId>
<version>2.53.1</version>
</dependency>
1
BS_CC