CatJS 0.4.45

The Tool

For generating the test deployment we are using the catjs tool that is an NPM module. After installing the module, catcli command will be available as part of the system path. More information can be found in the command-line doc

Configuration (catproject.json)

When generating the test deployment (see getting_started) a catproject.json file is being created. This is the configuration file for running CatJS tool. It contains all of the test deployment information. On initial project creation a basic user input prompts, it helps to setup the tool's basic configuration.

  • name The name of the project, it acts as the test deployment ID and represent the test root folder name.

  • source The project sources path

  • target The test deployment path

  • cattarget The path location for copying the resources to. On test deployment creation the catjs sources, libraries and third-parties are being copied below "cat" folder to that location. It's a relative path to the "target" path. By default it is set to the "target" root.

  • host The application host name

  • port The application port

  • protocol The application protocol [http | https]

  • dependencies Consider that changing this dependencies might cause malfunction of some of the modules. Adding your own dependencies are more than welcome Array of the third-party libraries to be included in the project, in the order they are pushed. The OOTB libraries in use as follows: ["underscore", "js.utils", "tmr", "jspath", "chai", "cat"]

  • underscore JavaScript helpers library
  • js.utils JavaScript Utilities
  • Test Model Reporter JavaScript model to JUnit XML reporter, the library is being used for modeling the monitoring data
  • JSPath JSON Data navigation, the library is being used as the test data navigation helper
  • Chai JavaScript assertion library, the library is used as the assertion engine for catjs

  • analytics CatJS is gathering statistics that helps for getting a better understanding to improve our solution. We do not take any private information, but only CatJS in specific information.

  • apppath The original application project path, CatJS scans for gathering information. None intrusive action are being applied to the application file system.

  • jshint
    JavaScript source code validation using jshint configuration

  • runner The CatJS Runner configuration to be able to run the application on multiple browsers and devices. For more information about the module and configuration see CatJSRunner Module

  • plugins Array of plugins configuration to be used with tasks. The mandatory basic plugin properties as described below:

    • name The name of the plugin
    • type The type of the plugin, there are native types that can be used (see Plugins doc)
  • tasks Array of tasks configuration. Task is depends on plugins (see Tasks doc)

    • name The name of the task
    • plugins Array of plugins names
Applications That Test Themselves