# Using the Built In Container for End to End Testing
This document provides general instructions for using `@woocommerce/e2e-environment` with the built in hosting container.
## Prerequisites
Complete the [setup instructions](./README.md) in each project/repository.
## Initialization Requirements
The test sequencer uses a `ready` page to determine that the testing environment is ready for testing. This page is created by the built in initialization. It matches the following spec:
```
wp post create --post_type=page --post_status=publish --post_title='Ready' --post_content='E2E-tests.'
Each project will have its own begin test state and initialization script. For example, a project might start testing expecting that the [sample products](https://github.com/woocommerce/woocommerce/tree/trunk/sample-data) have already been imported. Below is the WP CLI equivalent of the built in initialization script for WooCommerce Core E2E testing:
Project specific initialization can be added through an executable file at ```pluigns/woocommerce/tests/e2e/docker/initialize.sh```. WooCommerce core's script is:
The built in container initialization needs to know the particulars of your test install to run the tests. The built in uses the following default settings:
The built in container defaults to mapping the root folder of the repository to a folder in the `plugins` folder. Use the environment variables `WC_E2E_FOLDER` and `WC_E2E_FOLDER_MAPPING` to override this mapping. The `WC_E2E_FOLDER` is a path relative to the root of the project. For example, in the `woocommerce` repository this mapping is:
Since the introduction of the WooCommerce Monorepo, a `WC_CORE_PATH` environment variable maps to Core WooCommerce at `plugins/woocommerce`. It can also be overriden in a similar fashion.
Travis CI uses environment variables to allow control of some software versions in the testing environment. The built-in container supports these variables: