(Mobile) Web Automation Framework

CatJS 0.4.81

CatJS is an automation framework for (mobile) web applications testing. It offers a new technology that makes testing easy, we don't do WebDriver like the other technologies, in our case the applications test themselves. With simple annotations added to your HTML5 code, an automated functional tests will be available as part of your application lifecycle.

Once you added the test code you can run it using CatJS runner (That is already part of CatJS, no need to do any additional installations), on any platform that your application supports. CatJS runner can deploy your application on multiple devices and desktop browsers.

  • The annotations will be coded in comments thus no additional code is required
  • Once you wish to test your application, with a simple command, a new deployment will be generated for you to use including the test code
  • You get to document your tests and test your code
  • When you are ready for production the additional annotations will be removed on the minify process.
  • CatJS is an NPM and can be used as a command-line and/or as a module (The module will be available in the next releases) @catjsteam You can visit our catjs forum. Comments and questions are more than welcome, our team can help and consult about how to test your web application.

  • Web Applications that test themselves
  • Web automation testing solution

Technology Through My Eyes

We recommend you to try our catjs seed project on jQuery Moblie app
Github project
Take a look on the demo

  • DOM Plugin Drag and Drop support (see

  • snapshot for the browser DOM snapshot annotation added that saves an image of a given DOM and/or Canvas element. The images will be available in the reports folder.

          @@name snapshots
          @@dom snapshot("#canvas")
          @@dom snapshot("body")
      In case of DOM usage, add the html2canvas library
      Add the following to the catproject.json file:
      "dependencies": [
              "name": "html2canvas",
              "exclude": false
  • angularjs support AngularJS with ng- actions supported

  • iframe support Stabilized

  • auto-override In the cat.json test project file this property enable/disable cat.json file override when using -a command-line flag

  • dependencies property at the catproject.json format changed e.g. instead of ["jsutils", "jspath"] use [{"name": "jspath", "exclude": true}...]

Applications That Test Themselves