Files
Umbraco-CMS/tests/Umbraco.Tests.AcceptanceTest
Nikolaj Geisle 89f5151ddf Implement playwright acceptance tests instead of cypress (#13069)
* fix up dependencies in package.json

* Change configs to playwright

* update types

* remove cypress

* add playwright

* Fix up imports

* Move up test files

* Fix up scripts

* Update user import

* Remove allowEditInvariantFromNonDefault=True.spec.ts

* Update docker container

* Run playwright on pipelines

* Install playwright

* change urls

* change to run playwright

* Update reporter

* create .env file when installing

* update pipelines

* Remove @in yml

* Update Yaml script to use New-Item

* Pipe object to Value

* Update yaml to use "" not {}

* Update localhost to proper port

* Push package-lock.json

* include dotenv in package.json

* Add back umbraco.config.ts

* Dont change launchSettings.json

* Fix up pipelines

* Change working directory

* Add logging

* Actually name the file

* Remove .env from path

* Add working directory

* Add working directory to script

* check env content

* Update more working dir

* Try making newline in YAML

* add quotes

* Try multiline infront of script

* Move top statement

* use https

* Update to localhost 44331

* ignore https in config

* Change linux to https

* add timeouts for tests

* Fix up url for linux

* Update docker to use port 44331 -> 5000

* increase timeout

* Update yaml

* Remove Cypress references and fix URL/port mapping

* Update umbraco-linux.docker

* Generate ASP.NET HTTPS development certificate

* Enable HTTPS development certificate in Docker

* Dont run failing tests

* Update HTTPS development certificate generation

* Copy nuget.config to correct location in Docker file

* do not run flaky test

* update outputdir

* Remove flaky tests

* Update to dot reporter

* Update to json-models-builders package

* Check if results folder exists

* Remove logging

* Use bash to find folder

* Dont use junit to report

* only publish if folder exists

* Add 5 retries for CI

* search correct folder

* Remove unused json file

* Use line reporter

* Remove umbraco.config.ts

* Remove more flaky test

* Add waits so we dont bombard SQLite

* Add page as parameter

* add page as parameter

* Remove flaky macro test

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
2022-09-29 10:49:33 +02:00
..

Umbraco Acceptance Tests

Prerequisites

  • NodeJS 12+
  • A running installed Umbraco on url: https://localhost:44331 (Default development port)
    • Install using a SqlServer/LocalDb as the tests execute too fast for SqlCE to handle.

Getting started

The tests are located in the project/folder as Umbraco.Tests.AcceptanceTests. Make sure you run npm install in that folder, or let your IDE do that.

The script will ask you to enter the username and password for a superadmin user of your Umbraco CMS.

Executing tests

There are two npm scripts that can be used to execute the test:

  1. npm run test
    • Executes the tests headless.
  2. npm run ui
    • Executes the tests in a browser handled by a cypress application.

In case of errors it is recommended to use the UI to debug.

Enviroment Configuration

The enviroment configuration is begin setup by the npm installation script. This results in the creation of this file: cypress.env.json. This file is already added to .gitignore and can contain values that are different for each developer machine.

The file has the following content:

{
    "username": "<email for superadmin>",
    "password": "<password for superadmin>"
}

You can change this if you like or run the config script to reset the values, type "npm run config" in your terminal.