metadata: name: uiVeri5ExecuteTests description: Executes UI5 e2e tests using uiVeri5 longDescription: | In this step the ([UIVeri5 tests](https://github.com/SAP/ui5-uiveri5)) are executed. # The step is using `dockerExecute` step to spin up two containers in a Docker network: # * a Selenium/Chrome container (`selenium/standalone-chrome`) # * a NodeJS container (`node:lts-buster`) # In the Docker network, the containers can be referenced by the values provided in `dockerName` and `sidecarName`, the default values are `uiVeri5` and `selenium`. # !!! note # In a Kubernetes environment, the containers both need to be referenced with `localhost`. spec: inputs: resources: - name: buildDescriptor type: stash - name: tests type: stash params: - name: installCommand type: string description: The command that is executed to install the uiveri5 test tool. default: npm install @ui5/uiveri5 --global --quiet scope: - GENERAL - PARAMETERS - STAGES - STEPS mandatory: true - name: runCommand type: string description: "The command that is executed to start the tests." default: /home/node/.npm-global/bin/uiveri5 scope: - GENERAL - PARAMETERS - STAGES - STEPS mandatory: true - name: runOptions type: "[]string" description: "Options to append to the runCommand, last parameter has to be path to conf.js (default if missing: ./conf.js)." default: ["--seleniumAddress=http://localhost:4444/wd/hub"] scope: - PARAMETERS - STAGES - STEPS mandatory: true - name: testOptions type: string description: "Deprecated and will result in an error if set. Please use runOptions instead. Split the testOptions string at the whitespaces when migrating it into a list of runOptions." scope: - PARAMETERS - STAGES - STEPS - name: testServerUrl type: string description: "URL pointing to the deployment." scope: - PARAMETERS - STAGES - STEPS outputs: resources: - name: reports type: reports params: - filePattern: "**/TEST-*.xml" type: acceptance-test - filePattern: "**/requirement.mapping" type: requirement-mapping - filePattern: "**/delivery.mapping" type: delivery-mapping containers: - name: uiVeri5 image: node:lts-buster env: - name: no_proxy value: localhost,selenium,$no_proxy - name: NO_PROXY value: localhost,selenium,$NO_PROXY workingDir: /home/node sidecars: - image: selenium/standalone-chrome name: selenium securityContext: privileged: true volumeMounts: - mountPath: /dev/shm name: dev-shm env: - name: "NO_PROXY" value: "localhost,selenium,$NO_PROXY" - name: "no_proxy" value: "localhost,selenium,$no_proxy"