Lorsque j'exécute le code suivant:
public static void main(String[] args) {
try {
FirefoxDriver driver = new FirefoxDriver();
driver.get("http:www.yahoo.com");
} catch (NoClassDefFoundError ex) {
System.out.println("error: " + ex.getStackTrace());
}
}
Je suis confronté à l'erreur suivante:
erreur: [Ljava.lang.StackTraceElement; @ 80f4cb
Exception dans le fil "principal" Java.lang.NoClassDefFoundError: com/google/common/base/Function
Quelqu'un pourrait-il m'aider à trouver la solution ou la raison?
J'ai eu le même problème, et finalement j'ai trouvé que j'avais oublié d'ajouter Selenium-server-standalone-version.jar . J'avais seulement ajouté le fichier jar du client, Selenium-Java-version.jar .
J'espère que cela t'aides.
Un NoClassDefFoundError
est lancé lorsque le JRE ne peut pas trouver une classe. Dans votre cas, il ne peut pas trouver la classe com.google.common.base.Function
, que vous n'avez probablement pas ajouté à votre chemin de classe.
Après avoir téléchargé les bibliothèques suivantes:
et décompressez-les et mettez tous les fichiers JAR dans un dossier appelé lib
, la classe de test:
import org.openqa.Selenium.firefox.FirefoxDriver;
public class Test {
public static void main(String[] args) {
try{
FirefoxDriver driver = new FirefoxDriver();
driver.get("http:www.yahoo.com");
} catch(Exception e){
e.printStackTrace();
}
}
}
couru sans aucun problème.
Vous pouvez compiler et exécuter la classe comme suit:
# compiler et exécuter sur Linux et Mac javac -cp.: lib/* Test.Java Java -cp.: lib/* Test # compiler et exécuter sous Windows javac -cp.; lib/* Test.Java Java -cp.; lib/* Test
J'ai rencontré la même erreur et après l'enquête, j'ai découvert que la bibliothèque Selenium-api 2.41.0 requiert Guava 15.0 mais elle a été remplacée par une version plus ancienne. J'ai donc déclaré Guava 15.0 comme dépendance directe en ajoutant la configuration suivante dans pom.xml:
<dependency>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
<type>jar</type>
<version>15.0</version>
</dependency>
vous n'avez pas la bibliothèque "google-collections" sur votre classpath .
Il y a un certain nombre de façons d'ajouter des bibliothèques à votre chemin de classe , veuillez donc fournir plus d'informations sur la façon dont vous exécutez votre programme.
si en ligne de commande, vous pouvez ajouter des bibliothèques au classpath via
Java -classpath path/lib.jar ...
S'il vous plaît inclure tous les fichiers jar de Selenium stand-alone autonome et lib, alors cette erreur sera résolue
Pour moi, en plus de sélectionner le fichier jar - Selenium-Java-2.45.0.jar, je devais sélectionner tous les fichiers jar du dossier "libs" sous le dossier racine Selenium.
J'ai eu le même problème. J'ai constaté que j'avais oublié d'ajouter le fichier Selenium-2.53.0/Selenium-Java-2.53.0-srcs.jar à la bibliothèque de référence de mon projet.
J'ai eu la même erreur, mais cela a été résolu si vous ajoutez les bibliothèques de Selenium (encore une fois si vous ne l'avez pas déjà fait), si vous utilisez INTELIJ
project> projectStructure> Module> +> ajouter les fichiers jar Selenium (à la fois à partir du dossier lib et à l'extérieur.).
La même chose doit être faite pour d'autres IDE, comme Eclipse.
On dirait que vous essayez d'importer du code Google:
import com.google.common.base.Function;
Et ce n'est pas le trouver la classe Function. Assurez-vous que toutes les bibliothèques requises sont dans votre chemin de génération et que vous avez correctement saisi le package.
J'ai rencontré le même problème et j'échoue même après l'installation de 'Selenium-server-standalone-version.jar'. Je pense que vous devez installer les fichiers java guava et guava-gwt ( https://code.google.com/p/guava-libraries / ) également. J'ai ajouté tous ces pots, et finalement cela a fonctionné dans mon PC. J'espère que cela fonctionne pour les autres personnes rencontrant ce problème.
this is for chrome
System.setProperty("webdriver.chrome.driver","D:\\Testing_offical\\chromedriver.exe");
driver =new ChromeDriver();
this is for fire fox
System.setProperty("webdriver.gecko.driver",""D:\\Testing_offical\\geckodriver.exe"");
driver =new FirefoxDriver();
modèle :
System.setProperty("webdriver.gecko.driver","**Path of the gecko driver** ");
Remarque télécharger gecko à partir d'ici: - http://docs.seleniumhq.org/download/
Je voulais essayer un cours simple en dehors de IDE) et ainsi de suite. Ainsi, Selenium Zip a été téléchargé sur le site Web et exécuté comme suit:
Java -cp Selenium-2.50.1/*:Selenium-2.50.1/libs/*:. my/package/MyClass <params>
J'ai eu le problème que j'avais initialement utilisé lib
au lieu de libs
. Je n'a pas besoin d'ajouter le bocal autonome Selenium. C’est Java 8 qui comprend les caractères génériques dans classpath. Je pense que Java 7 ferait également l'affaire.].
J'ai eu le même problème et finalement j'ai oublié d'ajouter le fichier Selenium-server-standalone-version.jar. Je n'avais ajouté que le fichier client, Selenium-Java-version.jar.
Après avoir extrait votre fichier "Selenium-Java-.Zip", vous devez configurer votre chemin de construction à partir de votre IDE. Importez tous les fichiers jar sous le dossier "lib" et les deux serveurs autonomes Selenium & Selenium Java version.
Quand j'ai attrapé l'exception Java.lang.NoClassDefFoundError: com/google/common/base/Function
il était dû à des erreurs dans les bibliothèques de projet.
Veuillez le vérifier dans les paramètres de votre projet. Pour Intellij IDEA, allez dans Fichier - Structure du projet et sélectionnez Modules Onglet. Tout ce que je devais faire pour résoudre cette exception était de rajouter la bibliothèque de sélénium