Skip to content

Add e2e test for web terminal

Mark Lapierre requested to merge ml-web-terminal-spec-qa into master

What does this MR do?

Adds an end-to-end test of starting a web terminal in the Web IDE.

Changes include:

  • Making the runner resource and service more flexible, allowing the config to be overridden
  • Add a Commit resource for using the Commit API to add files
  • Add an alert component to the web IDE

CE backport MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31707

Limitations

  • The terminal "screen" is a canvas element, so we can't interact with it easily. It's possible to send commands, but there doesn't seem to be a way to verify them except either image comparison, or OCR. Neither is a good option for a simple E2E test. So instead, the test checks that the terminal package loads and is dynamically added to the UI (as an xterm element), and checks that there is no error alert displayed on the page.
  • Relative URLs don't currently work, so the test is quarantined. There's an issue to add support: https://gitlab.com/gitlab-org/gitlab-ee/issues/13833

What are the relevant issue numbers?

Closes gitlab-org/quality/testcases#85 (closed)

Does this MR meet the acceptance criteria?

Conformity

Edited by Mark Lapierre

Merge request reports