Cypress UI Test service and updates to installer.py (#1250)

* #1247 #1248 Feat: Cypress UI testing + Postgres Arg for installer

* #1247 #1248 Feat: Cypress UI testing + Postgres Arg for installer

* #1247 #1248 Feat: Cypress UI testing + Postgres Arg for installer

* #1247 #1248 Feat: Cypress UI testing + Postgres Arg for installer

* #1247 #1248 Feat: Cypress UI testing + Postgres Arg for installer

* #1247 #1248 Feat: Cypress UI testing + Postgres Arg for installer

* #1247 #1248 Feat: Cypress UI testing + Postgres Arg for installer
This commit is contained in:
varun-krishnamurthy
2023-10-26 14:05:31 +11:00
committed by GitHub
parent 122927662c
commit ead5438ebb
4 changed files with 210 additions and 24 deletions

View File

@@ -241,14 +241,14 @@ Sample `apps-example.json` is used by default, it installs erpnext on current st
> You may have apps in private repos which may require ssh access. You may use SSH from your home directory on linux (configurable in docker-compose.yml).
```shell
python installer.py
python installer.py #pass --db-type postgres for postgresdb
```
For command help
```shell
python installer.py --help
usage: installer.py [-h] [-j APPS_JSON] [-b BENCH_NAME] [-s SITE_NAME] [-r FRAPPE_REPO] [-t FRAPPE_BRANCH] [-p PY_VERSION] [-n NODE_VERSION] [-v]
usage: installer.py [-h] [-j APPS_JSON] [-b BENCH_NAME] [-s SITE_NAME] [-r FRAPPE_REPO] [-t FRAPPE_BRANCH] [-p PY_VERSION] [-n NODE_VERSION] [-v] [-a ADMIN_PASSWORD] [-d DB_TYPE]
options:
-h, --help show this help message and exit
@@ -261,7 +261,7 @@ options:
-r FRAPPE_REPO, --frappe-repo FRAPPE_REPO
frappe repo to use, default: https://github.com/frappe/frappe
-t FRAPPE_BRANCH, --frappe-branch FRAPPE_BRANCH
frappe repo to use, default: version-14
frappe repo to use, default: version-15
-p PY_VERSION, --py-version PY_VERSION
python version, default: Not Set
-n NODE_VERSION, --node-version NODE_VERSION
@@ -269,6 +269,8 @@ options:
-v, --verbose verbose output
-a ADMIN_PASSWORD, --admin-password ADMIN_PASSWORD
admin password for site, default: admin
-d DB_TYPE, --db-type DB_TYPE
Database type to use (e.g., mariadb or postgres)
```
A new bench and / or site is created for the client with following defaults.
@@ -276,6 +278,8 @@ A new bench and / or site is created for the client with following defaults.
- MariaDB root password: `123`
- Admin password: `admin`
> To use Postegres DB, comment the mariabdb service and uncomment postegres service.
### Start Frappe with Visual Studio Code Python Debugging
To enable Python debugging inside Visual Studio Code, you must first install the `ms-python.python` extension inside the container. This should have already happened automatically, but depending on your VSCode config, you can force it by:
@@ -380,3 +384,25 @@ volumes:
```
Access the service by service name from the `frappe` development container. The above service will be accessible via hostname `postgresql`. If ports are published on to host, access it via `localhost:5432`.
## Using Cypress UI tests
To run cypress based UI tests in a docker environment, follow the below steps:
1. Install and setup X11 tooling on VM using the script `install_x11_deps.sh`
```shell
sudo bash ./install_x11_deps.sh
```
This script will install required deps, enable X11Forwarding and restart SSH daemon and export `DISPLAY` variable.
2. Run X11 service `startx` or `xquartz`
3. Start docker compose services.
4. SSH into ui-tester service using `docker exec..` command
5. Export CYPRESS_baseUrl and other required env variables
6. Start Cypress UI console by issuing `cypress run command`
> More references : [Cypress Official Documentation](https://www.cypress.io/blog/2019/05/02/run-cypress-with-a-single-docker-command)
> Ensure DISPLAY environment is always exported.