Module for launch E2E tests related to Che 7
Requirements
- node 16.x
- "Chrome" browser 114.x or later
- deployed Che 7 with accessible URL
Before launch
Perform commands:
export TS_SELENIUM_BASE_URL=<Che7 URL>
npm ci
Note: If there is any modifications in package.json, manually execute the npm install
to update the package-lock.json. So that errors can be avoided while executing npm ci
Default launch
- Provide connection credentials:
export TS_SELENIUM_OCP_USERNAME=<username>
export TS_SELENIUM_OCP_PASSWORD=<password>
npm run test
Custom launch
Docker launch
- open terminal and go to the "e2e" directory
- export the
"TS_SELENIUM_BASE_URL"
variable with "Che" url - run command
"npm run test-docker"
Docker launch with changed tests
For launching tests with local changes perform next steps:
- open terminal and go to the "e2e" directory
- export the
"TS_SELENIUM_BASE_URL"
variable with "Che" url - run command
"npm run test-docker-mount-e2e"
Debug docker launch
The 'eclipse/che-e2e'
docker image has VNC server installed inside. For connecting use '0.0.0.0:5920'
address.
The "Happy Path" scenario launching
The easiest way to do that is to perform steps which are described in the "Docker launch" paragraph.
For running tests without docker, please perform next steps:
- Deploy Che on Kubernetes infrastructure by using 'Minikube' and 'Chectl' https://github.com/eclipse-che/che-server/blob/HEAD/deploy/kubernetes/README.md
- Create workspace by using 'Chectl' and devfile
- Provide the
'TS_SELENIUM_BASE_URL'
environment variable as described above - export TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME=EmptyWorkspace (default value, see BASE_TEST_CONSTANTS.ts)
- perform command
export USERSTORY=$TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME && npm run test-all-devfiles
Launching the DevWorkspaceHappyPath spec file using Che with oauth authentication
Setup next environment variables:
- export TS_SELENIUM_BASE_URL=<Che-URL>
- export TS_SELENIUM_OCP_USERNAME=<cluster-username>
- export TS_SELENIUM_OCP_PASSWORD=<cluster-password>
- export TS_SELENIUM_VALUE_OPENSHIFT_OAUTH="true"
- export TS_OCP_LOGIN_PAGE_PROVIDER_TITLE=<login-provide-title>
- export TS_SELENIUM_DEVWORKSPACE_URL=<devworkspace-url>
- export TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME=EmptyWorkspace (default value, see BASE_TEST_CONSTANTS.ts)
Execute the npm command:
- perform command
export USERSTORY=$TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME && npm run test-all-devfiles