Add e2e test in ADF main repo (#3534)

* move e2e to ADF main repo

* lint e2e test

* enable first set of tests

* enable test

* firs test js-api integrated

* try change name protractor demo shell file

* remove fdescribe

* Update .travis.yml

* exclude failing test and rewrite analytics component with JS-API

* remove fdescribe

* move first part of tests to js-api

* refactor test alfresco-js-api

* replace js-api step 3

* remove adf prefix

* remove unused code

* remove unused part 2

* add option in e2e test for single test and browser

* exclude temp failing test

* refactoring test step 1

* refactoring test step 2

* refactoring test step 3

* refactoring test step 4

* refactoring test step 5

* run against localhost and proxy options

* fix command

* improve configuration

* improve configuration

* use dev configuratio

* fix defering

* comment out not working remotely test

* fix promise login page e2e

* remove console log

* change test

* revert

* improve utils

* improve task list test
util add also numbers in generation of the email

* remove part of the multi selector

* reinsert trashcan test

* uncomment document list test

* try increase delay in search sorting

* improve document list selector

* execute different util methods

* Upload error screenshot

* make oncomplete async

* add z-finish screenshot workaround

* option save

* remove fit
This commit is contained in:
Eugenio Romano
2018-07-09 08:53:16 +01:00
committed by Eugenio Romano
parent 4ecea64e19
commit 3d86044594
182 changed files with 16047 additions and 178 deletions

View File

@@ -358,3 +358,51 @@ Internal script for update the rancher env
```sh
/rancher-update.sh --access_key ACCESS_KEY --secret_key SECRET_KEY --url RANCHER_URL--environment_name adf-master --image docker:alfresco/demo-shell:master
```
# test-e2e-lib.sh
***test-e2e-lib.sh***
Script to run e2e test
| Option | Description |
| --- | --- |
|-u or --username |username to use|
|-p or --password|password to use|
|-e or --email |email user to use|
|-b or --browser |browser run the test in the browsrwer (No headless mode)|
|-s or --spec |spec run a single test file|
|-host or --host | host against to run the test|
|-proxy or --proxy | proxy Back end URL to use |
## Examples
```sh
./scripts/test-e2e-lib.sh -host adf.domain.com -u admin -p admin -e admin
```
Run on browser
```sh
./scripts/test-e2e-lib.sh -host adf.domain.com -u admin -p admin -e admin --browser
```
Run a single test
```sh
./scripts/test-e2e-lib.sh -host adf.domain.com -u admin -p admin -e admin --spec filenam.e2e.ts
```
if the test in a subfolder in e2e you need to add the subfolder in the path:
```shnpm in
./scripts/test-e2e-lib.sh -host adf.domain.com -u admin -p admin -e admin --spec ./core/filenam.e2e.ts
```
Use a different backend
```sh
./scripts/test-e2e-lib.sh -host localhost:42000 -proxy adf.domain.com -u admin -p admin -e admin
```

83
scripts/test-e2e-lib.sh Executable file
View File

@@ -0,0 +1,83 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$DIR/../"
BROWSER_RUN=false
show_help() {
echo "Usage: ./scripts/test-e2e-lib.sh -host adf.domain.com -u admin -p admin -e admin"
echo ""
echo "-u or --username"
echo "-p or --password"
echo "-e or --email"
echo "-b or --browser run the test in the browsrwer (No headless mode)"
echo "-s or --spec run a single test file"
echo "-p or --proxy proxy Back end URL to use"
echo "-host or --host URL of the Front end to test"
echo "-save save the error screenshot in the remote env"
echo "-h or --help"
}
set_username(){
USERNAME=$1
}
set_password(){
PASSWORD=$1
}
set_email(){
EMAIL=$1
}
set_host(){
HOST=$1
}
set_test(){
SINGLE_TEST=true
NAME_TEST=$1
}
set_browser(){
echo "====== BROWSER RUN ====="
BROWSER_RUN=true
}
set_proxy(){
PROXY=$1
}
set_save_screenshot(){
SAVE_SCREENSHOT=true
}
while [[ $1 == -* ]]; do
case "$1" in
-h|--help|-\?) show_help; exit 0;;
-u|--username) set_username $2; shift 2;;
-p|--password) set_password $2; shift 2;;
-e|--email) set_email $2; shift 2;;
-b|--browser) set_browser; shift;;
-s|--spec) set_test $2; shift 2;;
-save) set_save_screenshot; shift;;
-proxy|--proxy) set_proxy $2; shift 2;;
-host|--host) set_host $2; shift 2;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
esac
done
rm -rf ./e2e/downloads/
rm -rf ./e2e-output/screenshots/
export URL_HOST_ADF=$HOST
export USERNAME_ADF=$USERNAME
export PASSWORD_ADF=$PASSWORD
export EMAIL_ADF=$EMAIL
export BROWSER_RUN=$BROWSER_RUN
export PROXY_HOST_ADF=$PROXY
export SAVE_SCREENSHOT=$SAVE_SCREENSHOT
if [[ $SINGLE_TEST == "true" ]]; then
echo "====== Single test run $NAME_TEST ====="
npm run e2e-lib -- --specs ./e2e/$NAME_TEST
else
npm run e2e-lib
fi