0
votes

initializationError(org.junit.runner.JUnitCommandLineParseResult) error is coming when jUnit code is run on windows command prompt:

Z:\lib\com\example\tests>java -cp Z:\lib\junit-4.12.jar;Z:\lib\hamcrest-core-1.3.jar org.junit.runner.JUnitCore TripPlannerJunit JUnit version 4.12.E Time: 0 There was 1 failure: 1) initializationError(org.junit.runner.JUnitCommandLineParseResult) java.lang.IllegalArgumentException: Could not find class [TripPlannerJunit]at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:102)at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)at org.junit.runner.JUnitCore.main(JUnitCore.java:36) Caused by: java.lang.ClassNotFoundException: TripPlannerJunitat 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) at java.base/java.lang.Class.forName0(Native Method)at java.base/java.lang.Class.forName(Class.java:398)at org.junit.internal.Classes.getClass(Classes.java:16)at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)... 4 more FAILURES!!! Tests run: 1, Failures: 1 Edited - . The structure is as follows: All the jars are in "Z:\TripPlanner\lib". The class and java files are in - "Z:\TripPlanner\lib\com\example\tests" The package declared is com.example.tests

package com.example.tests;
import static org.junit.Assert.fail;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.NoAlertPresentException;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import io.github.bonigarcia.wdm.ChromeDriverManager;

public class TripPlannerJUnit {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before
  public void setUp() throws Exception {
    ChromeDriverManager.getInstance().setup();
    driver = new ChromeDriver();
    baseUrl = "https://www.google.com.au/.com/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testUntitledTestCase() throws Exception {
    driver.get("https://transportnsw.info/trip#/");
    driver.findElement(By.id("search-input-From")).click();
    driver.findElement(By.id("search-input-From")).clear();
    driver.findElement(By.id("search-input-From")).sendKeys("North");
    driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='North Sydney Station'])[1]/following::li[1]")).click();
    driver.findElement(By.id("search-input-To")).click();
    driver.findElement(By.id("search-input-To")).clear();
    driver.findElement(By.id("search-input-To")).sendKeys("Town");
    driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='Town Hall Station'])[1]/following::ul[1]")).click();
    driver.findElement(By.id("search-button")).click();
  }

  @After
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }
  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}
1
Thanks. I just figured out what the problem was. The name of the class in the code was "TripPlannerJunit" while name of the class file was "TripPlannerJUnit" hence the problem is solved. - SSharma

1 Answers

0
votes

Please, specify the path where your TripPlannerJunit is located.

If this is the current folder of a project:

java -cp .;Z:\lib\junit-4.12.jar;...

or

java -cp %CD%;Z:\lib\junit-4.12.jar;...

UPDATE based on clarification in comments.

Assumed you have this structure:

Z:\TripPlanner\lib\
|   hamcrest-core-1.3.jar
|   junit-4.12.jar
|
+---com
|   \---example
|       \---tests
|               TripPlannerJunit.java
|               TripPlannerJunit.class

Run the test from Z:\TripPlanner\lib folder:

Z:\TripPlanner\lib>java -cp .;junit-4.12.jar;hamcrest-core-1.3.jar org.junit.runner.JUnitCore "com.example.tests.TripPlannerJunit"