# Babylonjs TestTools docs/info?

**URL:** <https://forum.babylonjs.com/t/babylonjs-testtools-docs-info/47263>\
**Category:** Questions\
**Created:** [January 16, 2024, 5:31pm UTC](https://forum.babylonjs.com/t/babylonjs-testtools-docs-info/47263 "2024-01-16T17:31:18Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anupam\_Das](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/anupam_das/32/16709_2.png) [@Anupam\_Das](https://forum.babylonjs.com/u/Anupam_Das)\
**Post date:** [January 16, 2024, 5:31pm UTC](https://forum.babylonjs.com/t/babylonjs-testtools-docs-info/47263/1 "2024-01-16T17:31:18Z")

</div>

We’re getting into the rabbit hole of automated testing finally and I figured why not just used the stuff you all have set up already and extend off of that.

looks like ur using.

> <https://github.com/BabylonJS/Babylon.js/tree/master/packages/tools/testTools>
>
> //github.com/BabylonJS/Babylon.js/tree/master/packages/tools/testTools

Im just curious what each of these does and where in the build pipeline they are used. Even just a brief writeup may be helpful.

> <https://github.com/BabylonJS/Babylon.js/blob/master/packages/tools/testTools/src/visualizationUtils.ts>

Im a little new to testing but it looks like its using a combination of selenium and jest image diff (to evaluate against a ground truth image )

> <https://github.com/BabylonJS/Babylon.js/blob/master/scripts/jest-imagediff-reporter.js>

I also know there was some usage of playwright in the past but I dont know if thats actively being used anymore? @RaananW

Just trying to put all the pieces together at this point…

-Anupam

> **[GitHub - RaananW/babylonjs-webpack-es6: Babylon.js basic scene with...](https://github.com/RaananW/babylonjs-webpack-es6#running-validation-tests)**
>
> Babylon.js basic scene with typescript, webpack, es6 modules, editorconfig, eslint, hot loading and more. Will even make coffee if you ask nicely. - GitHub - RaananW/babylonjs-webpack-es6: Babylon....

---

<div class="post-metadata">

**Author:** ![RaananW](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/raananw/32/28955_2.png) [@RaananW](https://forum.babylonjs.com/u/RaananW)\
**Post date:** [January 16, 2024, 5:37pm UTC](https://forum.babylonjs.com/t/babylonjs-testtools-docs-info/47263/2 "2024-01-16T17:37:52Z")

</div>

We are using playwright a well. For now experimental only, but you can see the implementation here - [Babylon.js/packages/tools/tests/test/playwright/visualizationPlaywright.utils.ts at master · BabylonJS/Babylon.js (github.com)](https://github.com/BabylonJS/Babylon.js/blob/master/packages/tools/tests/test/playwright/visualizationPlaywright.utils.ts)

The repo you shared (the webpack-es6 one) also has an implementation of a simple playwright tester. It all depends on your use case and what you want to test. also What platforms you want to test on.

Small note - Selenium is only used for integration tests to test on Safari.

---

<div class="post-metadata">

**Author:** ![Anupam\_Das](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/anupam_das/32/16709_2.png) [@Anupam\_Das](https://forum.babylonjs.com/u/Anupam_Das)\
**Post date:** [January 17, 2024, 1:03am UTC](https://forum.babylonjs.com/t/babylonjs-testtools-docs-info/47263/3 "2024-01-17T01:03:18Z")

</div>

thanks for the note. This is useful. Well testing is a super broad topic but for starters we want to test for visual regressions as we upgrade to new versions of our API. Essentially diff against a ground truth image and report if a threshold was exceeded. I like Playwright, as it seems to make multi-platform testing much easier.
