• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Running tests from ant on a continuous integration server
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Running tests from ant on a continuous integration server


  • Subject: Re: Running tests from ant on a continuous integration server
  • From: Chuck Hill <email@hidden>
  • Date: Thu, 23 Oct 2008 14:07:31 -0700


On Oct 22, 2008, at 11:40 PM, Brook, James wrote:

Chuck,

That's really helpful. Thanks. I might have guessed that you would be the one to answer.

:-)


Our Selenium tests are actually written in Java and run from TestNG using the Java driver for Selenium, so we have code that looks like this:

protected void login() {
   browser.open(APP_PATH);
   browser.type("username", USERNAME);
   browser.type("password", PASSWORD);
   browser.click("//input[@id='login']");
}

The Java code takes care of launching the Selenium server and the browser. The idea was that developers write and maintain tests with the minimum of context switching.

My idea is that I _don't_ want the developers writing the tests. Developers test what the implemented, not what the app is actually supposed to do. The tests will pass and the app will be wrong. :-) I have had fairly good success having a business savvy person use the Selenium IDE to write the tests. It also makes it fairly easy to edit them. IIRC it can record them in Java etc, but HTML files are easier to read (rendered in a browser) and easier for the less technically inclined to read.



The Java API actually is not so bad at all for test code. I had thought it would be more cumbersome. It's still too early to tell if we can keep our acceptance tests maintainable in this form, but I am hopeful that the automated build and test cycle will help.


Ick. I'd HATE to do this in Java. Have you tried the Selenium IDE? I'd much rather click and type than write Java.

Also, have a look at Bromine: http://bromine.openqa.org/



Thanks for the ant help.

You are welcome.

Chuck



-- James

-----Original Message-----
From: Chuck Hill [mailto:email@hidden]
Sent: Wed 22.10.2008 19:37
To: Brook, James
Cc: email@hidden
Subject: Re: Running tests from ant on a continuous integration server

Hi James,


On Oct 22, 2008, at 8:18 AM, Brook, James wrote:

Each of our applications is built automatically on a continuous
integration server whenever new code is committed. I would now like
our tests to be run once these continuous integration builds are
completed. These tests should be run from an ant task. We are using
the new wolips build style to make this possible (no more nasty
woproject/ant.blah files).

My question is: does anyone have a nice ant target/task for
achieving this? We are happy to run junit or testng, but I would
like a task that makes it easy to provide the WebObjects classpath.
I saw that previously there was a task called wounit, which extended
the junit task. This seems to have been dropped from the most recent
version of WOUnitTest. I guess we could make our own task, but it
would be nice not to do this if someone already has a solution.

The plan is to run Selenium-RC tests from junit and it would be
excellent to get them running on the continuous integration servers.
Any pointers would be very much appreciated.

It seems that some sort of vanilla 'run-tests' task would be a nice
thing to have in the ant build files that WOLips generates.


I use this to run my TestNG tests:

    <target name="test" depends="setProps" if="has.unit.tests">

        <testng workingdir="${project.working.directory}"
                outputDir="${test.report.dir}/${database.type}"
                sourcedirref="${project.source.path}"
                haltOnfailure="false">

            <!-- Pass values to
net.hhshoppers.hh.testng.EOTestSuite.java -->
            <jvmarg value="-DDBType=${database.type}" />
            <jvmarg value="-DJDBCUrl=${database.url}" />
            <jvmarg value="-DJDBCDriver=${database.driver}" />
            <jvmarg value="-DDBUserName=${database.userid}" />
            <jvmarg value="-DDBPassword=${database.password}" />

            <!-- Make sure the tests run with enough memory -->
            <jvmarg value="-Xmx768m" />

            <classpath refid="project.classpath"/>
            <classpath>
                <fileset dir="${build.product.dir}" includes="**/
*.jar" />
            </classpath>
            <xmlfileset dir="Testing/" includes="${unit.test.suite}"/>
        </testng>
    </target>

project.classpath is created using wopath:

        <wopath id="project.classpath">
       		<frameworks root="User"  eclipse="true" />
            <path refid="jars" />
	</wopath>

    	<path id="jars">
	    	<fileset dir="${JarsDir}" includes="*.jar" />
    	</path>	


You can run Selenium tests directly from Ant:

    <target name="run.suite">
        <selenese
            suite="${suite.path}"
            browser="${browser.name}"
            results="${results.path}"
            timeoutInSeconds="2500"
            startURL="http://${hostname}/";
        />
    </target>


-- Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects









-- Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects







_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • RE: Running tests from ant on a continuous integration server
      • From: "Brook, James" <email@hidden>
References: 
 >Running tests from ant on a continuous integration server (From: "Brook, James" <email@hidden>)
 >Re: Running tests from ant on a continuous integration server (From: Chuck Hill <email@hidden>)
 >RE: Running tests from ant on a continuous integration server (From: "Brook, James" <email@hidden>)

  • Prev by Date: Re: XcodeMigration tool and Perforce
  • Next by Date: Wonder App doesn't receive "ApplicationDidFinishLaunchingNotification" notification when deployed as a servlet
  • Previous by thread: RE: Running tests from ant on a continuous integration server
  • Next by thread: RE: Running tests from ant on a continuous integration server
  • Index(es):
    • Date
    • Thread