At any time, all the code in SVN should be compilable and should pass all the unit tests. There is no guarantee that it will be full featured - this is a work in progress.
Sonatype OSS repository hosts HtmlUnit snapshot, which is manually updated by the team once in a while. To use that, you can include the below in your POM:
<project> ... <repositories> <repository> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> <releases> <enabled>false</enabled> </releases> <id>sonatype-nexus-snapshots</id> <name>Sonatype Nexus Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <layout>default</layout> </repository> </repositories> </project>
Another way to get the latest code is through SVN. Create a directory for HtmlUnit (for instance c:\htmlunit or ~/htmlunit). Change to that directory and execute the following commands.
svn co http://svn.code.sf.net/p/htmlunit/code/trunk/htmlunit/ .
The preferred way to build HtmlUnit is with maven 3.
This will do an incremental compile of all the code.
mvn clean compile
This will do a clean compile of all the code.
Usually, you need to get the JARs for your IDE. You can do that by something like:
Eclipse: right click on the project -> Configure -> Convert to Maven Project
This will create appropriate IDE project. Note that HtmlUnit is mostly at the bleeding edge, to the extent that an HtmlUnit-local repository has been created to store snapshots of various dependencies.
All the tests are based on JUnit.
This will force a recompile of the java classes if needed.
mvn test -Dtest=DomNodeTest
This will run only the specified test class.
Tests currently assume that port 12345 is free on the machine,
if you have java.net.BindException: Address already in use: JVM_Bind,
then set the system property htmlunit.test.port e.g. -Dhtmlunit.test.port=10101.
Additionally class SocksProxyTest requires a SOCKS Proxy running at port 55555.
In the project's target directory you'll able to see the generated jar file with the name "htmlunit-" followed by the version number.
This generates a source jar file.
This will generate a jar file of the test sources.
This will generate an OSGi bundle.