Crawljax

Crawling Ajax applications through dynamic analysis and reconstruction of the UI state changes. Crawljax is based on a method which dynamically builds a `state-flow graph' modeling the various navigation paths and states within an Ajax application.

License

License

Apache 2
GroupId

GroupId

com.crawljax
ArtifactId

ArtifactId

crawljax
Last Version

Last Version

2.2
Release Date

Release Date

Type

Type

jar
Description

Description

Crawljax
Crawling Ajax applications through dynamic analysis and reconstruction of the UI state changes. Crawljax is based on a method which dynamically builds a `state-flow graph' modeling the various navigation paths and states within an Ajax application.
Project URL

Project URL

http://crawljax.com
Source Code Management

Source Code Management

https://github.com/crawljax/crawljax

Download crawljax

How to add to project

<!-- https://jarcasting.com/artifacts/com.crawljax/crawljax/ -->
<dependency>
    <groupId>com.crawljax</groupId>
    <artifactId>crawljax</artifactId>
    <version>2.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.crawljax/crawljax/
implementation 'com.crawljax:crawljax:2.2'
// https://jarcasting.com/artifacts/com.crawljax/crawljax/
implementation ("com.crawljax:crawljax:2.2")
'com.crawljax:crawljax:jar:2.2'
<dependency org="com.crawljax" name="crawljax" rev="2.2">
  <artifact name="crawljax" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.crawljax', module='crawljax', version='2.2')
)
libraryDependencies += "com.crawljax" % "crawljax" % "2.2"
[com.crawljax/crawljax "2.2"]

Dependencies

compile (20)

Group / Artifact Type Version
commons-lang : commons-lang jar 2.6
commons-configuration : commons-configuration jar 1.7
commons-math : commons-math jar 1.2
commons-io : commons-io jar 2.4
net.sf.jgrapht : jgrapht jar 0.8.3
xmlunit : xmlunit jar 1.3
net.sourceforge.nekohtml : nekohtml jar 1.9.14
net.jcip : jcip-annotations jar 1.0
xerces : xercesImpl jar 2.9.1
org.seleniumhq.selenium : selenium-firefox-driver jar [2.28.0,)
org.seleniumhq.selenium : selenium-chrome-driver jar [2.28.0,)
org.seleniumhq.selenium : selenium-htmlunit-driver jar [2.28.0,)
org.seleniumhq.selenium : selenium-ie-driver jar [2.28.0,)
org.seleniumhq.selenium : selenium-support jar [2.28.0,)
org.seleniumhq.selenium : selenium-iphone-driver jar [2.28.0,)
org.seleniumhq.selenium : selenium-remote-driver jar [2.28.0,)
org.seleniumhq.selenium : selenium-android-driver jar [2.28.0,)
com.google.guava : guava jar 13.0.1
org.slf4j : jcl-over-slf4j jar 1.7.2
org.slf4j : jul-to-slf4j jar 1.7.2

provided (1)

Group / Artifact Type Version
ch.qos.logback : logback-classic jar 1.0.9

test (6)

Group / Artifact Type Version
junit : junit jar 4.11
org.eclipse.jetty : jetty-server jar 8.1.8.v20121106
com.crawljax : crawljax-test-utils jar 1.3
com.crawljax : crawljax-test-utils test-jar 1.3
org.mockito : mockito-core jar 1.9.5
org.hamcrest : hamcrest-library jar 1.3

Project Modules

There are no modules declared in this project.

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.

com.crawljax

Crawljax: Crawling Ajax-based Web Applications

Versions

Version
2.2
2.1
2.0
1.9