This add-on supports the Automation Framework.
The spiderAjax job allows you to run the Ajax Spider - it is slower than the traditional spider but handles modern web applications well.
This job supports monitor tests.
- type: spiderAjax # The ajax spider - slower than the spider but handles modern apps well parameters: context: # String: Name of the context to spider, default: first context user: # String: An optional user to use for authentication, must be defined in the env url: # String: Url to start spidering from, default: first context URL maxDuration: # Int: The max time in minutes the ajax spider will be allowed to run for, default: 0 unlimited maxCrawlDepth: # Int: The max depth that the crawler can reach, default: 10, 0 is unlimited numberOfBrowsers: # Int: The number of browsers the spider will use, more will be faster but will use up more memory, default: 1 runOnlyIfModern: # Boolean: If true then the spider will only run if a "modern app" alert is raised, default: false browserId: # String: Browser Id to use, default: firefox-headless clickDefaultElems: # Bool: When enabled only click the default element: 'a', 'button' and input, default: true clickElemsOnce: # Bool: When enabled only click each element once, default: true eventWait: # Int: The time in millseconds to wait after a client side event is fired, default: 1000 maxCrawlStates: # Int: The maximum number of crawl states the crawler should crawl, default: 0 unlimited randomInputs: # Bool: When enabled random values will be entered into input element, default: true reloadWait: # Int: The time in millseconds to wait after the URL is loaded, default: 1000 tests: - name: 'At least 100 URLs found' # String: Name of the test, default: statistic + operator + value type: 'stats' # String: Type of test, only 'stats' is supported for now statistic: 'spiderAjax.urls.added' # String: Name of an integer / long statistic, currently supported: 'spiderAjax.urls.added' operator: '>=' # String ['==', '!=', '>=', '>', '<', '<=']: Operator used for testing value: 100 # Int: Change this to the number of URLs you expect to find onFail: 'info' # String [warn, error, info]: Change this to 'warn' or 'error' for the test to take effect
If the ‘runOnlyIfModern’ is set to ‘True’ then the passiveScan-wait job MUST be run before this one (as well as after it) and the Modern Web Application rule installed and enabled. If either of those things are not done then the ajax spider will always run and a warning output. If they are both done and no “Modern Web Application” alert is raised then the assumption is made that this is a tradition app and therefore the ajax spider is not needed.