Le framework d'automatisation ne procèdera pas à l'exécution des étapes dans le fichier .feature après l'ouverture du navigateur Chrome (puis se ferme juste après)
GenericStepImplementation.java Codes
*Feature: Automation Test Starting ChromeDriver 2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387) on port 11795 Only local connections are allowed. Jan 07, 2019 6:00:53 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: OSS [31mFailure in before hook:[0m[31mGenericStepImplementation.setUp()[0m [31mMessage: [0m[31mjava.lang.NoClassDefFoundError: org/apache/commons/collections/CollectionUtils at org.apache.commons.configuration.XMLConfiguration.constructHierarchy(XMLConfiguration.java:640) at org.apache.commons.configuration.XMLConfiguration.constructHierarchy(XMLConfiguration.java:635) at org.apache.commons.configuration.XMLConfiguration.initProperties(XMLConfiguration.java:596) at org.apache.commons.configuration.XMLConfiguration.load(XMLConfiguration.java:1009) at org.apache.commons.configuration.XMLConfiguration.load(XMLConfiguration.java:972)
RunAutoTest Codes .java
Feature: Automation Test @Login-Successful Scenario: Login (Successful) Given I go to "www.yahoo.com" URL Then I enter "m@yahoo.com" into "login.username" field and click tab Then I enter "1234567890" into "login.password" text field Then I clicked on "login.loginlink" login button Then I wait for "15" seconds And I will capture the page named "Login-Successful"
Sample.feature
package test_runner; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; @RunWith(Cucumber.class) @CucumberOptions( glue={"code_bindings"}, features="src/test/resources/features", plugin = {"pretty", "html:target/cucumber-html-report"}) public class RunAutoTest { }
Après l'exécution en tant que JUnit Test, le navigateur Chrome a été ouvert mais ne le fait pas exécutez les étapes du fichier Sample.feature. La console affiche également:
@Before public void setUp() throws ConfigurationException, org.apache.commons.configuration.ConfigurationException { System.setProperty("webdriver.chrome.ChromeDriver","C:\\Automation\\Webdrivers\\chromedriver.exe"); driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.manage().window().maximize(); config = new XMLConfiguration("sample-object-config.xml"); }
3 Réponses :
Modifiez simplement le
System.setProperty ("webdriver.chrome.ChromeDriver", "C: \\ Automation \\ Webdrivers \\ chromedriver.exe");
changer en quoi?
Vous devez changer le mot-clé de la ligne System.setProperty
de ChromeDriver
en driver
, c'est-à-dire changer:
System.setProperty("webdriver.chrome.driver","C:\\Automation\\Webdrivers\\chromedriver.exe"); only ^^^driver^^^
À:
System.setProperty("webdriver.chrome.ChromeDriver","C:\\Automation\\Webdrivers\\chromedriver.exe");
ça n'a pas marché. juste les mêmes résultats. :( une autre suggestion?
https://docs.oracle.com /javase/7/docs/api/java/lang/NoClassDefFoundError.html
Cette exception se produit lorsque la classe existait lors de la compilation, mais n'existe pas au moment de l'exécution.
Veuillez vous assurer que votre chemin de classe contient org / apache / commons / collections / CollectionUtils
. La bibliothèque commons-collections
est probablement absente du chemin de classe.
J'ai téléchargé le jar commons-collections4-4.2 et ajouté au chemin de construction java. cela ne fonctionne toujours pas. une autre suggestion?
Je vois que vous avez trouvé la réponse ci-dessus. Content pour toi! 😊
Il semble que vous manquez la bibliothèque de collection apache commons. Vous pouvez essayer d'ajouter cela à votre build.
Vous pouvez obtenir la bibliothèque sur mvnrepository.com/artifact/commons-collections/… comme pour l'ajouter à votre build qui dépend de ce que vous utilisez (maven, gradle, etc.)
@CalvinIyer j'ai téléchargé le jar commons-collections4-4.2 et ajouté au chemin de construction java. cela ne fonctionne toujours pas. une autre suggestion?
vous avez besoin de la
commons-collection
au lieu de la bibliothèquecommons-collections4
comme indiqué dans l'erreur ci-dessus.@CalvinIyer attendez .. vais-je toujours télécharger le fichier jar de la collection commune juste pour l'ajouter au chemin de construction java?
Oui, mais c'est une version différente de la bibliothèque. Commons 4 est la nouvelle itération qui n'est pas ce dont vous avez besoin pour corriger l'erreur.
@CalvinIyer oui. J'ai téléchargé commons-collections-3 et ça marche maintenant! Merci beaucoup pour l'aide! :)