Sample structure for Playwright UI test module which conforms to AEM Cloud Manager quality gate UI test conventions.
AEM provides an integrated suite of Cloud Manager quality gates to ensure smooth updates to custom applications, UI tests are executed as part of a specific quality gate for each Cloud Manager pipeline with a dedicated Custom UI Testing step.
Within the project structure there is a specific location where the code Custom UI Tests are expected. The code in this folder is used as a Docker build context to produce a docker image which will be executed during the Custom UI Testing step in the pipeline.
The Cloud Manager UI test module convention defines the expected structure of the test module as well as the environment variables which will be passed at runtime. This is explained in detail in the Building UI Tests section of the documentation.
Dockerfilecommands to assemble the imagepom.xmldefines project dependencies and build configuration which will be used by Cloud Manager to build the test module image/test-moduleThe test project (add your tests there)
The image built from the Dockerfile can be used to execute tests locally against an AEM environment.
The ui-tests-docker-execution
maven profile will start the docker container starting Playwright and the test module, executing the tests against
the AEM instance defined via environment variables. The test results will be stored in the ./target/reports directory.
The following environment variables (AEM UI test convention) can be passed
| envvar | default |
|---|---|
| AEM_AUTHOR_URL | http://localhost:4502 |
| AEM_AUTHOR_USERNAME | admin |
| AEM_AUTHOR_PASSWORD | admin |
| AEM_PUBLISH_URL | http://localhost:4503 |
| AEM_PUBLISH_USERNAME | admin |
| AEM_PUBLISH_PASSWORD | admin |
| REPORTS_PATH | playwright/results |
- Build the Docker UI test image with below command
mvn clean package -Pui-tests-docker-build - Run the test
mvn verify -Pui-tests-docker-execution -DAEM_AUTHOR_URL=https://author.my-deployment.com -DAEM_AUTHOR_USERNAME=<PASS> -DAEM_AUTHOR_PASSWORD=<PASS>
Follow these steps to use the Playwright tests:
-
Remove all content in the
ui.testsfolder from your Cloud Manager repository. -
Copy all files located in this folder into the
ui.testsfolder. -
(Optionally) adjust the file
pom.xmland set parent as well as artifact information to the desired naming. -
Commit and push the changes.
During the next pipeline execution, Cloud Manager will use the Playwright tests.