-
Notifications
You must be signed in to change notification settings - Fork 622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cypress integration testing #4831
Cypress integration testing #4831
Conversation
368d17d
to
30c10a3
Compare
frontend/integration-tests-cypress/cypress-e2e/cypress/plugins/index.js
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/support/commands.js
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/support/commands.js
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/support/commands.js
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/support/index.d.ts
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/support/index.js
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/tests/monitoring_spec.ts
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/tests/monitoring_spec.ts
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/tsconfig.json
Outdated
Show resolved
Hide resolved
frontend/integration-tests-cypress/cypress-e2e/cypress/tests/monitoring_spec.ts
Outdated
Show resolved
Hide resolved
cde559d
to
1b05e9f
Compare
frontend/integration-tests-cypress/cypress/tests/monitoring_spec.ts
Outdated
Show resolved
Hide resolved
For the README, when we add instructions, need to figure out if it only works local with no auth. |
I added a few things to the cypress config, picks up the xml output, etc: {
"integrationFolder": "cypress/tests",
"screenshotsFolder": "../gui_test_screenshots/cypress/screenshots",
"videosFolder": "../gui_test_screenshots/cypress/videos",
"reporter": "junit",
"reporterOptions": {
"mochaFile": "../gui_test_screenshots/cypress-output-[hash].xml",
"toConsole": true
}
} looks like @benjaminapetersen, Implemented cypress-multi-reporters. 'spec' outputs to console, mochajunit xml outputs to 'gui-test-screenshots` |
78eb1c8
to
66033c9
Compare
@dtaylor113 We might want to wait for the alert rows to appear before we attempt to filter. |
afeadc0
to
4f14f92
Compare
Hi @spadgett, ok added a test for rows to be loaded before filtering. |
Hi @spadgett, not true, there is a test which passes, checks that the Heading is 'Alerting'. |
You're right, the page was just scrolled down a bit to where the heading was hidden. I wonder if it's an issue with virtualized table scrolling behavior. We've seen bugs there. (This table probably doesn't need to be virtualized, but that's not a simple change.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
@dtaylor113 merge conflict in package.json :( |
/hold |
4f14f92
to
5150fde
Compare
/hold cancel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dtaylor113, spadgett The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Todo:
we do need to think about how static plugins can contribute tests. Add plugin integration tests to protractor #2051 is what we did for protractor.Notes from @spadgett "this might be less critical since we are looking at pulling plugins out of the console into their own repos, so they would have separate ci"add ability to run suites of cypress tests ('release', 'e2e', etc). before we can move these tests out of Protractor. Investigate Cypress GroupsTracked via JIRAinvestigate integrating patternfly-a11y / axe with cypress axe plugin.Tracked via JIRAturn on video file support?addgetError
andgetLogs
checks like this in our Cypress tests to catch runtime errors in the browser.limit use of class selectors in favor ofdata-test
remove specific timeoutschange tobyTestID()
,byTestActionID()
, &byLegacyTestID
refactor: removeutils
, renamecy-command-additions
tosupport
read BRIDGE_KUBEADMIN_IDP from an env var set in the test prow scriptimplement multiple cypress reportersintegrate with using OpenShift with Authenticationupdate README with instructions for running cypress.move cypress to monorepo/packages directory structuredo simple CRUD testsplitcommands.js
file into several context helper filesenable eslint for cypress testsconvert all cypress config files to typescript (ie. 'commands.js')Todo (CI):
StartTracked via JIRAxvfb
in test-prow.sh according to these instructionsinvestigate Cypress Dashboard features/cost.We were approved for OpenShift license for Cypress Dashboard usage. Working locally. Need to figure out how to add to GitHub CI processes.push new console docker image to quay (@spadgett)Cypress trade-offs
To launch cypress:
After test has run screen recording below shows how to step back through the run, showing how the UI (DOM snapshots) changed during the test run. You can even step through the
Before All
andAfter All
setup/teardown methods from the GUI:Additional Resources