Update acceptance test readme & scripts (#13078)
* Update readme to reflect the change to playwright * Update test scripts * update README * update pipelines to run new script * update package.json scripts * dont include demo test in package.json * Add creation of blueprint test * Implement create test script Co-authored-by: Zeegaan <nge@umbraco.dk>
This commit is contained in:
@@ -467,7 +467,7 @@ stages:
|
||||
inputs:
|
||||
targetType: inline
|
||||
workingDirectory: tests/Umbraco.Tests.AcceptanceTest
|
||||
script: 'npm run ui --ignore-certificate-errors'
|
||||
script: 'npm run test --ignore-certificate-errors'
|
||||
- bash: |
|
||||
if [ -f $(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest/results/ ]; then
|
||||
echo "##vso[task.setVariable variable=myfileexists]true"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Umbraco Acceptance Tests
|
||||
|
||||
### Prerequisites
|
||||
- NodeJS 12+
|
||||
- NodeJS 16+
|
||||
- A running installed Umbraco on url: [https://localhost:44331](https://localhost:44331) (Default development port)
|
||||
- Install using a `SqlServer`/`LocalDb` as the tests execute too fast for `SqlCE` to handle.
|
||||
- Install using a `SqlServer`/`LocalDb` as the tests execute too fast for `Sqlite` 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 tests are located in the project/folder as `Umbraco.Tests.AcceptanceTests`. Make sure you run `npm ci` & `npx playwright 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.
|
||||
|
||||
@@ -16,21 +16,20 @@ There are two npm scripts that can be used to execute the test:
|
||||
1. `npm run test`
|
||||
- Executes the tests headless.
|
||||
1. `npm run ui`
|
||||
- Executes the tests in a browser handled by a cypress application.
|
||||
- Executes the tests in a browser handled by a playwright application.
|
||||
|
||||
In case of errors it is recommended to use the UI to debug.
|
||||
In case of errors it is recommended to use `await page.pause()` so you can step through your test.
|
||||
|
||||
### Enviroment Configuration
|
||||
### Environment Configuration
|
||||
|
||||
The enviroment configuration is begin setup by the npm installation script.
|
||||
This results in the creation of this file: `cypress.env.json`.
|
||||
The environment configuration is begin setup by the npm installation script.
|
||||
This results in the creation of this file: `.env`.
|
||||
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>"
|
||||
}
|
||||
UMBRACO_USER_LOGIN=email for superadmin
|
||||
UMBRACO_USER_PASSWORD=password for superadmin
|
||||
URL=https://localhost:44331
|
||||
```
|
||||
You can change this if you like or run the config script to reset the values, type "npm run config" in your terminal.
|
||||
|
||||
21
tests/Umbraco.Tests.AcceptanceTest/createTest.js
Normal file
21
tests/Umbraco.Tests.AcceptanceTest/createTest.js
Normal file
@@ -0,0 +1,21 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
|
||||
function generate(fileName) {
|
||||
fs.writeFileSync(
|
||||
`./tests/${fileName}.spec.ts`,
|
||||
`import {test} from '@umbraco/playwright-testhelpers';
|
||||
|
||||
test.describe('New test file description', () => {
|
||||
test.beforeEach(async ({page, umbracoApi}) => {
|
||||
await umbracoApi.login();
|
||||
});
|
||||
|
||||
test('New test', async ({page, umbracoApi, umbracoUi}) => {
|
||||
});
|
||||
});`
|
||||
);
|
||||
}
|
||||
|
||||
generate(args[0] || "newTest");
|
||||
@@ -4,9 +4,10 @@
|
||||
"scripts": {
|
||||
"postinstall": "node postinstall.js",
|
||||
"config": "node config.js",
|
||||
"ui": "npx playwright test tests/DefaultConfig",
|
||||
"headed": "npx playwright test --headed tests/DefaultConfig",
|
||||
"all": "npx playwright test"
|
||||
"ui": "npx playwright test --headed DefaultConfig",
|
||||
"test": "npx playwright test DefaultConfig",
|
||||
"all": "npx playwright test",
|
||||
"createTest": "node createTest.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.19.2",
|
||||
|
||||
Reference in New Issue
Block a user