Bonjour Julien!   First of all, thank you so much for your time and 
help.   It is very much appreciated!

Julien, with your guidance I managed to write my class and get it to 
work on my development environment using intelliJ.            In my IDE 
environment, I invoke the test  run with 
junit.swingui.TestRunner.run(testEllenOrdersNew.class);    But on my 
production environment, which is command line compiling and running, I use:
 junit.textui.TestRunner.run(testEllenOrdersNew.class);

When using the ide environment, it runs fine and all tests pass.   It 
also recognizes my log4j.properties file and doesn't complain about 
appenders or lack of initialization.  

Now when I port my code over to my production environment (text-based - 
non-gui), the compilation runs without errors but runs 3 times in a 
row!   Moreover, log4j complains about appenders and initialization....

I've included my class,  and below, my class path and the output.....

thanks so much Julien!

Hanif




/**
 * Created by IntelliJ IDEA.
 * User: hanif
 * Date: Jan 29, 2007
 * Time: 5:07:16 PM
 * To change this template use File | Settings | File Templates.
 */
/* if this stops working unexpectedly here are some reasons why:
 * 1.  the product is hard-coded in and the product may have been 
removed from the site
 * 2.  the exp. year on the visa card has passed.
 *
 * Some Notes:  This class now uses jwebunit 1.4 
(jwebunit.sourceforge.net).   It comes with its own set of
 *              dependencies such as junit, log4j, etc. etc...
 *              Note that a configuration file called log4j.properties 
is used by log4j and is sitting somewhere in the
 *              classpath.   This configuration file is useful for 
degugging - its configuration can be changed
 *              on the fly without having to re-compile the class.  Its 
use for now is commented out (_logger object)
 *              but it can be used at any time as a good replacement for 
system.out.println.
 */
package newline;

import net.sourceforge.jwebunit.junit.WebTestCase;
import net.sourceforge.jwebunit.util.TestingEngineRegistry;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
import java.net.URL;

import org.apache.log4j.*;

public class testEllenOrdersNew extends WebTestCase {

    private static String homepage = 
"http://ellen.hanif.newline.projects.novator.com/";;
    private static String sku = "ELCFWATCH";
    private static String sku_description = "The Ellen DeGeneres Show 
Watch with Three Interchangeable Straps";

    // initialize log4j
    final static Logger _logger = 
Logger.getLogger(testEllenOrdersNew.class);  

    //public testEllenOrdersNewTest() {
        //super();
    //}

    @Override
    public void setUp() throws Exception {
        //super();
        System.out.println("Running test with base " + homepage);
        setTestingEngineKey(TestingEngineRegistry.TESTING_ENGINE_HTMLUNIT);
        getTestContext().setBaseUrl(homepage);
    }

    @Override
    public void runTest() throws Exception {
        setScriptingEnabled(false);
        testSearchProduct();
        testProductAdd();
        testOrderAsRegisteredCustomer();
    }

    @Override
    public void tearDown() throws Exception {
        return;
    }   

    static public class tHostnameVerifier implements HostnameVerifier {
        public tHostnameVerifier() {
            super();
        }

        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    }

    // adds a product identified by sku
    public void testSearchProduct() {
        beginAt("/");
        // this should run from any starting point, because it does a 
search by the sku
        //_logger.warn("first call to log4j...");       
        System.out.println("Searching for sku: " + sku);
        System.out.println("Description: " + sku_description);
        setTextField("keywords1", sku);
        //getPageSource();
        submit();
        assertTextPresent(sku_description);

    }

    // adds a product identified by sku
    public void testProductAdd() {
        assertTextPresent(sku_description);
        clickLinkWithText(sku_description);
        System.out.print("Adding " + sku + " to cart........ ");
        assertSubmitButtonPresent("add_to_cart");
        submit("add_to_cart");
        assertSubmitButtonPresent("ce_submit");
        System.out.println("done");

        //submit the cart page
        System.out.print("Submitting Cart page....... ");
        submit("ce_submit");
        System.out.println("Done");
        getPageSource();

    }

    /* to be used after form fillout
    * goes though the rest of the shopcart process
    */
    public void testOrderAsRegisteredCustomer() {
        System.out.print("Logging in as [EMAIL PROTECTED]");
        assertTextPresent("Why do I have to login?");
        assertFormElementPresent("email_address");
        setTextField("email_address", "[EMAIL PROTECTED]");
        setTextField("login_password", "novator");
        assertSubmitButtonPresent("login_submit");
        submit("login_submit");
        System.out.println("Done");

        //review page
        assertTextPresent("REVIEW YOUR ORDER INFORMATION CAREFULLY");
        assertTextPresent("You have entered the credit card you would 
like to be billed for your order.");

        assertSubmitButtonPresent("review_submit");
        System.out.print("Submitting review page.....");
        submit("review_submit");

        System.out.println("done");

        //accept duties
        System.out.print("Accepting Duties & Taxes.....");
        assertTextPresent("Duties & Tax Acceptance");
        assertSubmitButtonPresent("accept");

        submit("accept");
        System.out.println("done");

        //confirm
        assertTextPresent("Your order has been accepted");
        assertTextPresent("Tracking your order is easy");
        System.out.println("Order complete!");
    }

    public static void main(String args[]) throws 
java.net.MalformedURLException, java.io.IOException {
        HttpsURLConnection con = (HttpsURLConnection) new 
URL("https://www.novator.com";).openConnection();
        con.setDefaultHostnameVerifier(new tHostnameVerifier());
       
        // when running on Idea:
        //junit.swingui.TestRunner.run(testEllenOrdersNew.class);
        // when running on command line:
        junit.textui.TestRunner.run(testEllenOrdersNew.class);
        return;

    }

}


Classpath is 
lib/jwebunit-1.4/avalon-framework-4.1.3.jar:lib/jwebunit-1.4/commons-codec-1.3.jar:lib/jwebunit-1.4/commons-collections-3.2.jar:lib/jwebunit-1.4/commons-httpclient-3.0.1.jar:lib/jwebunit-1.4/commons-io-1.2.jar:lib/jwebunit-1.4/commons-lang-2.1.jar:lib/jwebunit-1.4/commons-logging-1.1.jar:lib/jwebunit-1.4/dom4j-1.6.1.jar:lib/jwebunit-1.4/htmlunit-1.10.jar:lib/jwebunit-1.4/icu4j-2.6.1.jar:lib/jwebunit-1.4/jaxen-1.1-beta-11.jar:lib/jwebunit-1.4/jdom-1.0.jar:lib/jwebunit-1.4/js-1.6R2.jar:lib/jwebunit-1.4/junit-3.8.2.jar:lib/jwebunit-1.4/jwebunit-core-1.4-rc3.jar:lib/jwebunit-1.4/jwebunit-htmlunit-plugin-1.4-rc3.jar:lib/jwebunit-1.4/log4j-1.2.12.jar:lib/jwebunit-1.4/logkit-1.0.1.jar:lib/jwebunit-1.4/nekohtml-0.9.5.jar:lib/jwebunit-1.4/regexp-1.3.jar:lib/jwebunit-1.4/servlet-api-2.4.jar:lib/jwebunit-1.4/tagsoup-0.9.7.jar:lib/jwebunit-1.4/xalan-2.6.0.jar:lib/jwebunit-1.4/xercesImpl-2.6.2.jar:lib/jwebunit-1.4/xml-apis-1.3.02.jar:lib/jwebunit-1.4/xmlParserAPIs-2.6.2.jar:lib/jwebunit-1
 .4/xom-1.0b3.jar:lib/jwebunit-1.4/log4j.properties:.


.Running test with base http://ellen.hanif.newline.projects.novator.com/
log4j:WARN No appenders could be found for logger 
(com.gargoylesoftware.htmlunit.WebClient).
log4j:WARN Please initialize the log4j system properly.
Searching for sku: ELCFWATCH
Description: The Ellen DeGeneres Show Watch with Three Interchangeable 
Straps
Adding ELCFWATCH to cart........ done
Submitting Cart page....... Done
Logging in as [EMAIL PROTECTED]
Submitting review page.....done
Accepting Duties & Taxes.....done
Order complete!

.Running test with base http://ellen.hanif.newline.projects.novator.com/
Searching for sku: ELCFWATCH
Description: The Ellen DeGeneres Show Watch with Three Interchangeable 
Straps
Adding ELCFWATCH to cart........ done
Submitting Cart page....... Done
Logging in as [EMAIL PROTECTED]
Submitting review page.....done
Accepting Duties & Taxes.....done
Order complete!

.Running test with base http://ellen.hanif.newline.projects.novator.com/
Searching for sku: ELCFWATCH
Description: The Ellen DeGeneres Show Watch with Three Interchangeable 
Straps
Adding ELCFWATCH to cart........ done
Submitting Cart page....... Done
Logging in as [EMAIL PROTECTED]
Submitting review page.....done
Accepting Duties & Taxes.....done
Order complete!

Time: 167.754

OK (3 tests)



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JWebUnit-users mailing list
JWebUnit-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jwebunit-users

Reply via email to