Skip to content

Releases: crawljax/crawljax

Crawljax 3.5

08 Mar 11:23
Compare
Choose a tag to compare
  • Deprecated the malfunctioning DomChangeNotifierPlugin. Introuced StateVertexFactoryl. #347
  • Better PhantomJS support. Tests run on PhantomJS by default.
  • Switched from URL's to URI's for better performance. #322
  • Added Web UI project. See our blogpost for more information

Crawljax 3.4

10 Nov 08:51
Compare
Choose a tag to compare

In this release:

  • Crawljax doesn't accidentally go to other URLs anymore during a Crawl. #339
  • StateVertexImpl.getUsedEventables() Always returned an empty list #350
  • Fixed some Findbugs errors (thanks to @keheliya)

All binaries are available at Maven Central and GitHub

Crawljax 3.3

05 Sep 12:02
Compare
Choose a tag to compare
  • PhantomJSDriver support is added. You can now use PhantomJS as a driver in Crawljax. For details see #327
  • External URLs are not opened by default #328
  • Updated Selenium

All binaries are available at Maven Central

Crawljax 3.2

05 Aug 18:22
Compare
Choose a tag to compare

Metrics #314

Implements statistics for Crawljax using Codehale's metrics.

We have pre-loaded some metrics in core and you can extend the functionality yourself. We have created an example that shows how you can print the already inserted metrics and add one of your own.

The default counters that are included right now are:

  • Crawler lost count
  • Unfired actions count
  • Invocations per plugin count.

Further more:

  • Crawl configuration now has an option to set the output folder #316. This is useful for plugins that require an output folder.
  • Browser.getDom() is deprecated. You can now choose between getStrippedDom and getUnstrippedDom() #305.
  • API Change: Proxy plugin has been removed. It didn't work in 3.1 and 3.0 and is now replaced by the PreCrawlPlugin. #286

Binaries are available at Maven Central

Crawljax 3.1

05 Sep 12:19
Compare
Choose a tag to compare
  • Added the possibility to stop Crawljax from using the runner or by calling stop from any plugin. #270
  • Fixes bug positioning of elements in the crawloverview #237
  • Fixed HashCode/Equals bug in Conditions #276
  • Fixes bug where edges would disappear from the StateFlowGraph #272
  • Updated to the new version of Selenium

Crawljax 3.0

05 Sep 12:18
Compare
Choose a tag to compare
  • New Overview plugin
  • Crawljax is now configured using a builder
  • Crawljax can now crawl hidden href elements as well.
  • Children of a certain elements can be excluded using a nice syntax.
  • The project has been split up in three versions: core, cli and examples.
  • Major performance and stability improvements
  • View closed issues
  • View the full diff

Crawljax 2.2

05 Sep 12:15
Compare
Choose a tag to compare

Crawljax 2.1

05 Sep 12:14
Compare
Choose a tag to compare

crawljax-2.0

05 Sep 12:14
Compare
Choose a tag to compare

New features:

  • Support for concurrent multi-browser crawling. The number of browsers can be configured using the ThreadConfiguration API.
  • Support added for the HTMLUnit driver. Note: this driver is very fast, but it is not a real browser.
  • Added CrawlPathToException class to wrap a crawl path into a stack trace like exception giving developers / testers better insight to on which page an invariant or plugin reported an error.
  • Added a Filter option to Helper.getDifferences, so a list of differences can be generated without being bothered with the changes in style attributes for example.

Changes and Bug fixes:

  • Upgraded the dependencies on Selenium (version 2.0a7). Issue: 9.
  • The initial browser was null, this was caused by the fact that the currentBrowser was not correctly set. The browser pool did not register the currentBrowser for a given thread as the browser got requested directly, as what happened with the initial browser. Issue: 26.
  • When running a (large) CrawlSpec and set a MaxRuntime constraint for it, the Crawler is not terminated directly when the MaxRuntime is reached. Basically what happened was that the current Crawler was terminated. Afterwards all waiting Crawlers got executed and start back-tracking and when in the previous state the check constraints terminates the Crawler. It was changed to, when the MaxRuntime is reached the current Crawler was terminated and that Crawler made a call the all other Crawlers running to shutdown and it tells the queue to empty and shutdown. Issue: 27.
  • Ignore iFrames specified by full identifier or using wild-cards. Issue: 29.
  • When using one wait condition during crawling and the first waitcondition takes a long time (> timeout) but in the end it is successful a IndexOutOfBounceException is thrown. The index is increased after an successful execution of a waitcondition and later the log event uses the increased index number to retrieve the WaitCondition that took to long to get successful. Issue: 30.
  • When supplying wrong or malformed urllocator causes an exception. Changed the behaviour not to suspect an urllocator starts with 7 characters. Issue: 31.
  • The exactEventPath got updated when OnNewState plugins where finished executing. This resulted in the wrong data being exposed to the CrawlSession. The initial fix was made to prevent this behaviour, late the CrawlPath and the ExactEventPath where merged because both lists are doing exactly the same. Issue: 32.
  • Refactored most of the Exception handling within Crawljax, when a browser crashed (for whatever reason) the Exception thrown by WebDriver was catched and ignored. Resulting in all calls to WebDriver to fail and by that flushing all the work from the queue by Crawlers using that Browser. The new implementation handles the exception at the right location and makes sure the crashed browser will be removed from the pool and won’��t be used any further. The crawler where the browser crashed will be removed from the queue, limiting the number of missed states by the number that would have been found by that crawler. Issue: 33/34.
  • Fixed a lot of the FindBugs warnings, remove some legacy code (clone() support)
  • Updated the WebDriver version, this was needed to support screenshots for RemoteWebDrivers. It also enables screenshotting of WebDriver instances wrapping an other WebDriver by implementing the WrapsDriver class. This enabled screenshotting in EventFiringWebDriver classes.
  • Changed Crawljax Core so a CrossBrowser tool could be developed; therefore added an call to block the CrawljaxController (waitForTermination).
  • When having allot elements to examine prevent getXPathExpression get called over and over again. This was solved by caching the build of the XPathâ��s in the current DOM. Every node in the DOM contains the full xPath leading to it self, so preventing to calculate for example the /HMTL/BODY part over and over again. Only calculate the part which has not yet been calculated.
  • Rename BrowserFactory to BrowserPool which is a more correct name.

Crawljax 1.9.1

05 Sep 12:13
Compare
Choose a tag to compare
Crawljax 1.9.1. Add support for external proxy or automatic proxy con…

…figuration. Also refactor CrawljaxConfigurationReader to skip an object->string->object conversion for CrawlElements.