Running multiple test processes in parallel
The framework allows running multiple test processes simultaneously. Each test process spawns a separate Gameface Player instance on a different port if the current one is occupied.
This feature enables you to execute multiple test processes independently and in parallel, which can significantly reduce the overall test execution time.
Example
Section titled “Example”In this example, we will use the concurrently npm module to run two test processes in parallel. Alternatively, you can create your own script to manage multiple processes and handle their exit codes.
First, install the concurrently module:
npm install --save-dev concurrentlyNext, add the following script to the scripts section of your project’s package.json:
"scripts": { ... "test": "concurrently --kill-others-on-fail \"gameface-e2e --tests=./tests/view1/**/*.spec.js --gamefacePath=../Gameface/Player/Player.exe\" \"gameface-e2e --tests=./tests/view2/**/*.spec.js --gamefacePath=../Gameface/Player/Player.exe\"" ...}You can also use separate configuration files to run different test processes:
"scripts": { ... "test": "concurrently --kill-others-on-fail \"gameface-e2e --config=./tests/view1.config.js\" \"gameface-e2e --config=./tests/view2.config.js\"" ...}In each configuration file, specify the tests and gamefacePath properties.
Now, running npm run test will start two Player processes, each executing tests for a specific view in parallel.