/crawljax

Crawljax: Crawling Dynamic (JavaScript-based) Web Applications

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Crawljax

Crawljax is a tool for automatically crawling and testing modern web applications. Crawljax can explore any JavaScript-based Ajax web application through an event-driven dynamic crawling engine. It produces as output a state-flow graph of the dynamic DOM states and the event-based transitions between them. Crawljax can easily be extended through its easy-to-use plugin architecture.

Maven

<dependency>
    <groupId>com.crawljax</groupId>
    <artifactId>crawljax-core</artifactId>
    <version>4.1</version>
</dependency>

Documentation

You can find more technical documentation in our project wiki.

Community

Keep track of development and community news.

Changelog

Detailed change history is avaialbe in our changelog.

Testing inside a Docker container

Install Docker and run the "run-tests-in-docker.sh" script. It's recommended to increse your Docker memory to at least 4.0 GiB to avoid OOMs during testing.

Testing on your machine

You can run the tests using maven with the command

mvn clean package

If you want to run all the test, including browser tests, run

mvn clean test -P integrationtests

The default driver used for testing uses Chrome so make sure you have Chrome installed on your machine. You can also specify which browser you'd like to use with the test.browser variable. For example, if you want to test with Firefox, use:

mvn clean test -P integrationtests -Dtest.browser=FIREFOX

Again, make sure a recent version of Firefox is installed on your machine before running the tests.