Port Selenium tests to Cypress

Open
#9,335 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
cypress
Domain
testing-qa

Research direction

Use the Selenium-to-Cypress breakdown in this issue as the work map, starting with the linked child issues #9337–#9347 and the existing CI test setup. Review which Selenium tests are skipped or failing, then compare their coverage with the current Cypress tests. Done means the listed end-to-end coverage has been ported so it runs under Cypress instead of Selenium.

Written by the indexing model from the issue text.

Description

Testing / Continuous Integration (CI)

Currently, we do e2e testing in both selenium and cypress, two different testing frameworks. This slows down our workflows and requires more effort to maintain. Most of our selenium tests are also flagged to be skipped on CI mostly due to the lack of necessary components. The codebase has changed significantly while all of these tests were being skipped, so it is likely that a majority of them need major refactor if they are to work at all with the current or future codebase.

Furthermore, the tests that do work in CI fail most of the time. Workflows often need to be re-run 3-4 times before they pass selenium. This makes ongoing development challenging and slows productivity.

Hence, we will be gradually porting over the selenium tests to cypress so we can run all of our e2e tests under the single framework, saving time and energy.


Here is the breakup of our current selenium tests that need to be rewritten in Cypress, along with their complexity (represented with ✦'s), and the number of tests that are currently being run in CI:

  • #9337
    • Relies on java dependency and config files
  • #9338
    • Currently fails the most often (on merge_threads)
  • #9339
  • #9340
  • #9341
    • Out of sync with latest sample queue data
  • #9342
  • #9343
  • #9344
  • #9345
  • #9346
  • #9347
Dominant language
PHP
Stars
793
Forks
1.1k
Avg merge
2d 16h
Merged PRs (30d)
78

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Submitty/Submitty

All issues in Submitty/Submitty

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.