Skip to content
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

fix(test): Add frontend integration test manual run #8767

Merged
merged 4 commits into from
Jan 31, 2023

Conversation

gkcalat
Copy link
Member

@gkcalat gkcalat commented Jan 30, 2023

Description of your changes:

The goal of this PR is to improve debugging experience for the frontend integration test.

  1. Changes the flow of the FE e2e test. The test waits for 90 seconds before opening run details page to verify run's status.
  2. Adds local debugging option that would be of a great value for those who face failed tests.
  3. Uploads test artifacts to the GCS bucket (this was missing, although artifacts are created).

Checklist:

@google-oss-prow
Copy link

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@gkcalat
Copy link
Member Author

gkcalat commented Jan 30, 2023

/assign @chensun

@@ -0,0 +1,24 @@
# Frontend integration test
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding the additional running mode, and the documenting the usage.

/cc @jlyaoyuli in case frontend team has a similar or better way to run FE integration test in custom deployment.

test/frontend-integration-test/helloworld.spec.js Outdated Show resolved Hide resolved
browser.execute('document.querySelector(".tableRow a").click()');
browser.waitUntil(() => {
return new URL(browser.getUrl()).hash.startsWith('#/runs/details');
}, waitTimeout);
Copy link
Member

@chensun chensun Jan 31, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waiting for the run details page to load is technically correct but doesn't change anything in the current setup, because $('button=Config').waitForVisible(); below would also ensure the page to load--unless there's a config button on run list page.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To add my 5 cents: waiting for the page is more explicit. I reverted the change as you suggested above.

Copy link
Member

@chensun chensun Jan 31, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gkcalat Absolutely agree explicit is better, and that's what I meant by "technically correct". For this PR, I think it's better to focus on what it claims, the effective change in the helloworld.spec.js can be reduced into one-line change of waiting for 90 seconds before clicking into "config" tab, and I was a bit skeptical whether that would fix the test failure we saw. For that reason I suggested we don't make this not-so-relevant change.
If we were to change this file in a meaningful way again, say in your large PR, I would support waiting explicitly on the page load.

@google-oss-prow google-oss-prow bot added size/M and removed size/L labels Jan 31, 2023
@chensun
Copy link
Member

chensun commented Jan 31, 2023

/lgtm
/approve

Thanks!

/cc @zijianjoy @jlyaoyuli

@google-oss-prow google-oss-prow bot added the lgtm label Jan 31, 2023
@gkcalat gkcalat changed the title fix(test): Fix frontend integration test flow fix(test): Add frontend integration test manual run Jan 31, 2023
@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: chensun

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit c79d35f into kubeflow:master Jan 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants