-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Restore webdriver-based functional test runner driver #31446
Conversation
log.debug(`Find.existsByDisplayedByCssSelector('${selector}') with timeout=${timeout}`); | ||
return await this.exists(async (driver) => { | ||
const elements = wrapAll(await driver.findElements(By.css(selector))); | ||
return await this.filterElementIsDisplayed(elements); |
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.
Filtering after the findElements()
call like this means that the timeout isn't used if the findElements()
call returns elements but none of them are displayed, I'm pretty sure this is the reason we're seeing flakiness like https://kibana-ci.elastic.co/job/elastic+kibana+master/66/JOB=x-pack-ciGroup6,node=immutable/testReport/junit/X-Pack%20Chromium%20Functional%20Reporting%20Tests/x-pack_test_reporting_functional_reporting%C2%B7js/reporting_app_Reporting_Dashboard_Print_PDF_button_becomes_available_when_saved/
I tried to fix this like so https://github.com/elastic/kibana/pull/31368/files#diff-6238cdd3f41d65e4fddb017713976292R209, but it caused other timeout issues, since calls to exist()
were waiting for longer, and subsequent timeout calls were missing temporary elements like the success toast here:
[00:20:37] │ debg Waiting up to 20000ms for flyout closed...
[00:20:37] │ debg TestSubjects.exists(dashboardAddPanel)
[00:20:37] │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="dashboardAddPanel"]') with timeout=2500
[00:20:48] │ debg Find.findByCssSelector('.euiToast') with timeout=10000
...
[00:20:58] └- ✖ fail: "dashboard app using current data dashboard snapshots compare area chart snapshot"
[00:20:58] │ TimeoutError: Waiting for element to be located By(css selector, .euiToast)
[00:20:58] │ Wait timed out after 10033ms
[00:20:58] │ at node_modules/selenium-webdriver/lib/webdriver.js:834:17
[00:20:58] │ at process._tickCallback (internal/process/next_tick.js:68:7)
(copied from #31388 (comment)) 💔 Build Failed
|
(copied from #31388 (comment)) 💔 Build Failed1 failure in x-pack-ciGroup7
|
(copied from #31388 (comment)) 💔 Build Failed1 Failure in x-pack-ciGroup6 This one appears to be related to the issue described in #31388 (comment)
|
💚 Build Succeeded |
retest |
💚 Build Succeeded |
Retest |
💚 Build Succeeded |
retest |
💚 Build Succeeded |
retest |
💚 Build Succeeded |
💔 Build Failed |
1 failure which is expected:
PR #31447 has a fix for it. |
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.
I went through this pretty finely. I think since we merged a bunch of smaller PRs into this branch, that helped this branch to be relatively easy to review. I also pulled this locally and ran the tests x 3 (using TEST_THROTTLE_NETWORK
and got 3 green builds. That's amazing! I approve these changes and all they stand for!
💚 Build Succeeded |
retest |
💚 Build Succeeded |
retest |
1 similar comment
retest |
This comment has been minimized.
This comment has been minimized.
1 job failed due to CI (probably )overload.
|
Come on Jenkins, last one! https://kibana-ci.elastic.co/job/elastic+kibana+pull-request/3281/ |
💚 Build Succeeded |
…flakiness" This reverts commit 4770993.
💚 Build Succeeded |
Reopening #26477, we'll take another shot and this time run the tests even more often to make sure we address even more sources of flakiness before merging.
Note: we're running all of the functional tests 6 times per build. Hopefully this will help us see flakiness before we merge into master.(originally opened as #31388, wanted branch to be on elastic/kibana so we could have separate PRs for each flaky ciGroup)
Closes #27905