I'm new with running Java from the command line in Windows and can't get my program to run. To overview, here is exactly what I am trying to do:
Run two .java files, TestCase1.java and UniversalVariables.java
Incorporate multiple external jar files
Do all of this from the command line
TestCase1.java has all of the functioning code, whereas UniversalVariables.java pretty much just has some data, so don't let all that's in there confuse you.
It should be noted that I am using Selenium and running it through Eclipse.
Here is TestCase1.java:
package NSSR;
import com.thoughtworks.selenium.*;<br>
import org.junit.After;<br>
import org.junit.Before;<br>
import org.junit.Test;<br>
//Create new NSSR
public class TestCase1 extends SeleneseTestCase {
public static void main(String[] args) {
TestCase1 tc1 = new TestCase1();
try {
tc1.setUp();
tc1.testTestCase1();
tc1.tearDown();
} catch (Exception e) {
}
}
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*firefox",
UniversalVariables.baseAddress);
selenium.start();
}
@Test
public void testTestCase1() throws Exception {
selenium.open(UniversalVariables.loginPage);
selenium.type("name=USERNAME", UniversalVariables.username);
selenium.type("name=PASSWORD", UniversalVariables.password);
selenium.click("link=Submit");
selenium.waitForPageToLoad("60000");
selenium.open("/itg/dashboard/app/portal/PageView.jsp?IS_WINDOID=N");
selenium.click("link=Create");
selenium.click("link=Request");
selenium.waitForPageToLoad("30000");
selenium.select("name=REQUEST_TYPE_CREATE",
"label=Non-Standard Service");
selenium.click("css=span.secBtn > a");
selenium.waitForPageToLoad("30000");
String title = UniversalVariables.getRandomTitle();
String req = UniversalVariables.Requestor;
String dept = UniversalVariables.reqDept;
String desc = UniversalVariables.getRandomDescription();
String date = UniversalVariables.getRandomDate();
System.out.println(title);
System.out.println(req);
System.out.println(dept);
System.out.println(desc);
System.out.println(date);
selenium.type("id=REQ.DESCRIPTION", title);
selenium.type("id=REQ.P.REQUESTORAC_TF", req);
selenium.select("id=REQ.P.REQUESTOR_DEPT", dept);
selenium.type("id=REQ.P.DETAIL_DESC", desc);
selenium.type("REQ.P.REQ_COMPL_DATE", date);
selenium.click("link=Submit");
selenium.waitForPageToLoad("30000");
selenium.refresh();
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
And here is UniversalVariables.java:
package NSSR;
import java.util.*;
public class UniversalVariables {
public static String baseAddress = "******";
public static String loginPage = "******";
public static String username = "******";
public static String password = "******";
public static ArrayList<String> NSSR_Titles = new ArrayList<String>(NSSR_Titles());
public static String Requestor = "******";
public static String reqDept = "Shared Services";
public static ArrayList<String> NSSR_Descriptions = new ArrayList<String>(NSSR_Descriptions());
public static ArrayList<String> NSSR_Dates = new ArrayList<String>(NSSR_Dates());
public static Random randy = new Random();
public static int num;
public static String getRandomTitle() {
num = randy.nextInt(NSSR_Titles.size());
return NSSR_Titles.get(num);
}
public static String getRandomDescription() {
num = randy.nextInt(NSSR_Descriptions.size());
return NSSR_Descriptions.get(num);
}
public static String getRandomDate() {
num = randy.nextInt(NSSR_Dates.size());
return NSSR_Dates.get(num);
}
public static ArrayList<String> NSSR_Titles() {
ArrayList<String> list = new ArrayList<String>();
for(int i = 1; i < 11; i++)
list.add("Title " + i);
return list;
}
public static ArrayList<String> NSSR_Descriptions() {
ArrayList<String> list = new ArrayList<String>();
for(int i = 1; i < 11; i++)
list.add("Description " + i);
return list;
}
public static ArrayList<String> NSSR_Dates() {
ArrayList<String> list = new ArrayList<String>();
for(int i = 1; i < 13; i++)
for(int j = 1; j < 29; j++)
for(int k = 13; k < 100; k++) {
String str = i + "/" + j + "/20" + k;
list.add(str);
}
return list;
}
}
This is what I put into the command line (These are all of the jar files I use. I know it's not pretty...bear with me.):
>javac -classpath C:\JAR\junit-4.0.jar;C:\JAR\junit-4.0-src.jar;C:\JAR\selenium-java-c
lient-driver.jar;C:\JAR\selenium-java-client-driver-sources.jar;C:\JAR\selenium-
java-client-driver-tests.jar;C:\JAR\selenium-java-client-driver-test-sources.jar
;C:\JAR\selenium-server.jar;C:\JAR\selenium-server-coreless.jar;C:\JAR\selenium-
server-sources.jar;C:\JAR\selenium-server-standalone-2.24.1.jar; NSSR\TestCase1.
java NSSR\UniversalVariables.java
That compiles just fine. I then put this into the command line:
>java NSSR.TestCase1
Then comes the error:
Exception in thread "main" java.lang.NoClassDefFoundError: com/thoughtworks/sele
nium/SeleneseTestCase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.thoughtworks.selenium.SeleneseT
estCase
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 12 more
Could not find the main class: NSSR.TestCase1. Program will exit.
FYI, this is my CLASSPATH:
.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;C:\WINDOWS\system32\java.exe\lib;C:\Program Files\IBM\RationalSDLC\ClearQuest\cqjni.jar;C:\JAR*.jar
Any help is greatly appreciated!