# Building and developing Theia 🎭 Playwright ## Building Run `npm install && npm run build` in the root directory of the repository to build the Theia application. In order to build Playwright library, the tests and install all dependencies (ex: chromium) run the build script: ```bash cd examples/playwright npm run build ``` ## Executing the tests ### Prerequisites Before running your tests, the Theia application under test needs to be running. The Playwright configuration however is aware of that and starts the backend (`npm run theia:start`) on port 3000 if not already running. This is valid for executing tests with the VS Code Playwright extension or from your command line. You may also use the `Launch Browser Backend` launch configuration in VS Code. ### Running the tests in VS Code via the Playwright extension For quick and easy execution of tests in VS Code, we recommend using the [VS Code Playwright extension (`ms-playwright.playwright`)](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright). Once you have installed the VS Code Playwright test extension, open the *Test* view and click the `Run Tests` button on the top toolbar or the `Run Test` button for a particular test. It uses the default configuration with chromium as test profile by default. To run the tests headful, simply enable the checkbox `Show browser` in the Playwright section of the *Test* view. ### Running the tests headless via CLI To start the tests run `npm run ui-tests` in the folder `playwright`. This will start the tests in a headless state. To only run a single test file, the path of a test file can be set with `npm run ui-tests ` or `npm run ui-tests -g ""`. See the [Playwright Test command line documentation](https://playwright.dev/docs/intro#command-line). ### Running the tests headful via CLI If you want to observe the execution of the tests in a browser, use `npm run ui-tests-headful` for all tests or `npm run ui-tests-headful ` to only run a specific test. ### Watch the tests Run `npm run watch` in the root of this package to rebuild the test code after each change. This ensures, that the executed tests are up-to-date also when running them with the [Playwright VS Code Extension](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright). ### Debugging the tests Please refer to the section [Debugging the tests via the VS Code Playwright extension](./GETTING_STARTED.md#debugging-the-tests-via-the-vs-code-playwright-extension). ### UI Mode - Watch and Trace Mode Please refer to the section [UI Mode - Watch and Trace Mode](./GETTING_STARTED.md#ui-mode---watch-and-trace-mode).