EsgrimaJS - Distributed Javascript Test Runner
Do you need to do Javascript testing in a distributed way? With multiple windows, multiple screen, remote places or whatever? And all the tests need to communicate? Use this framework!
Common, there are a lot of frameworks to test javascript. And it is not another one. We take advantage of the tests frameworks that already exists.
But is it a test runner? Yes. And yes, we also take advantage of what exists in the moment. And we hope we can propose an integration of this one with a most broader and used framework by the community (we are quite new, and nobody knows it.)
Everything started, because we have to test a chrome app (see Chrome App) with multi monitor. Yes, you click a button in one screen, an action happened in another monitor. And yes, we need also test interface. The most impartant issue that we face, was related with testing in the same application, different things, and how can we execute an operation in one window and check if the value changed in other one (tipically multi monitor scenario).
Let's mix it together, and do a real test framework for javascript and web browser framework. We do not real Web Drivers, or whatever. We are embeeded on the application.
Another clear advantage, is the possibility to run any javascript code. While in Nightwatch.js you are limited to their API to run your interface tests, here, you can handle javascript triggers and do it in a different way, like for instance, run unit tests and so on.
The philosophy of EsgrimaJS is totally different from the others. The key idea is each test module will belong to a group. And each test will run in a group, which mean that it is in one machine or one thousand machines.
Finally, did you plan interface tests in Mobile devices? Do you want to do? No idea? EsgrimaJS solves it for you!
The server and client are built in Javascript mainly using ECMAScript 6. The websockets is based on socket.io. The framework can works over HTTP or HTTPS.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Follow the same recomendations: https://github.com/TooTallNate/node-gyp#installation
Many of the philosofy is taken from Karma. So kudos for Karma and for Vojtech Jína, that are the author of the master thesis.
So, if something is not good with licenses or code or whatever, feel free to let me know, and will fix it of course.