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

Flaky test: dashboard app dashboard clone clone warns on duplicate name #13455

Closed
tylersmalley opened this issue Aug 10, 2017 · 2 comments
Closed
Labels
Feature:Dashboard Dashboard related features test

Comments

@tylersmalley
Copy link
Contributor

tylersmalley commented Aug 10, 2017

https://kibana-ci.elastic.co/job/elastic+kibana+pull-request+multijob-selenium/6605

08:46:37.645          │ debg  Kibana uiSettings are in elasticsearch and the server is reporting a green status
08:46:37.646        │ debg  Load Saved Dashboard Dashboard Clone Test
08:46:37.648        │ debg  searchForDashboardWithName: Dashboard Clone Test
08:46:37.648        │ debg  gotoDashboardLandingPage
08:46:37.648        │ debg  onDashboardLandingPage
08:46:37.648        │ debg  TestSubjects.exists(dashboardLandingPage)
08:46:37.648        │ debg  existsByDisplayedByCssSelector [data-test-subj~="dashboardLandingPage"]
08:46:38.709        │ debg  clickDashboardBreadcrumbLink
08:46:38.709        │ debg  clickByCssSelector(a[href="#/dashboards"])
08:46:38.710        │ debg  findByCssSelector a[href="#/dashboards"]
08:46:38.799        │ debg  TestSubjects.find(searchFilter)
08:46:38.799        │ debg  in displayedByCssSelector: [data-test-subj~="searchFilter"]
08:46:48.826        │ debg  --- tryForTime failure: An element could not be located on the page using the given search parameters.
08:46:59.376        │ debg  --- tryForTime failed again with the same message  ...
08:47:09.906        │ debg  --- tryForTime failed again with the same message  ...
08:47:20.566        │ debg  --- tryForTime failed again with the same message  ...
08:47:21.076        │ debg  --- tryForTime failure: tryForTime timeout: NoSuchElement: An element could not be located on the page using the given search parameters
.....
08:47:22.184      └- ✖ fail: "dashboard app dashboard clone clone warns on duplicate name"
08:47:22.187      │        tryForTime timeout: Error: tryForTime timeout: Error: tryForTime timeout: NoSuchElement: An element could not be located on the page using the given search parameters.
08:47:22.187      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/leadfoot/lib/findDisplayed.js:37:21
08:47:22.187      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/dojo/Promise.js:156:41
08:47:22.188      │           at run (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/dojo/Promise.js:51:33)
08:47:22.188      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/dojo/nextTick.js:35:17
08:47:22.188      │           at _combinedTickCallback (internal/process/next_tick.js:73:7)
08:47:22.188      │           at process._tickDomainCallback (internal/process/next_tick.js:128:9)
08:47:22.188      │           at Command.findDisplayed (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/leadfoot/Command.js:23:10)
08:47:22.188      │           at Command.prototype.(anonymous function) [as findDisplayedByCssSelector] (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/leadfoot/lib/strategies.js:33:16)
08:47:22.189      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:87:29
08:47:22.189      │           at undefined.next (native)
08:47:22.189      │           at step (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:8:191)
08:47:22.189      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:8:437
08:47:22.189      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:8:99
08:47:22.189      │           at _this7._ensureElementWithTimeout (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:86:20)
08:47:22.189      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:33:33
08:47:22.190      │           at undefined.next (native)
08:47:22.190      │           at step (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:8:191)
08:47:22.191      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:8:437
08:47:22.191      │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/services/find.js:8:99
08:47:22.191      │           at tryCatcher (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/util.js:26:23)
08:47:22.191      │           at Function.Promise.attempt.Promise.try (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/method.js:31:24)
08:47:22.191      │           at attempt (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/common/services/retry.js:22:16)
08:47:22.191      │           at tryCatcher (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/util.js:26:23)
08:47:22.191      │           at Promise._settlePromiseFromHandler (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:503:31)
08:47:22.191      │           at Promise._settlePromiseAt (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:577:18)
08:47:22.192      │           at Promise._settlePromises (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:693:14)
08:47:22.192      │           at Async._drainQueue (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:123:16)
08:47:22.192      │           at Async._drainQueues (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:133:10)
08:47:22.192      │           at Immediate.Async.drainQueues (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:15:14)
08:47:22.192      │           at runCallback (timers.js:672:20)
08:47:22.192      │           at tryOnImmediate (timers.js:645:5)
08:47:22.192      │           at processImmediate [as _immediateCallback] (timers.js:617:5)
08:47:22.193      │           at attempt (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/common/services/retry.js:19:17)
08:47:22.194      │           at tryCatcher (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/util.js:26:23)
08:47:22.194      │           at Promise._settlePromiseFromHandler (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:503:31)
08:47:22.194      │           at Promise._settlePromiseAt (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:577:18)
08:47:22.194      │           at Promise._settlePromises (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:693:14)
08:47:22.194      │           at Async._drainQueue (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:123:16)
08:47:22.194      │           at Async._drainQueues (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:133:10)
08:47:22.194      │           at Immediate.Async.drainQueues (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:15:14)
08:47:22.194      │           at runCallback (timers.js:672:20)
08:47:22.195      │           at tryOnImmediate (timers.js:645:5)
08:47:22.198      │           at processImmediate [as _immediateCallback] (timers.js:617:5)
08:47:22.198      │           at attempt (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/common/services/retry.js:19:17)
08:47:22.198      │           at tryCatcher (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/util.js:26:23)
08:47:22.198      │           at Promise._settlePromiseFromHandler (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:503:31)
08:47:22.199      │           at Promise._settlePromiseAt (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:577:18)
08:47:22.199      │           at Promise._settlePromises (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/promise.js:693:14)
08:47:22.199      │           at Async._drainQueue (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:123:16)
08:47:22.201      │           at Async._drainQueues (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:133:10)
08:47:22.204      │           at Immediate.Async.drainQueues (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:15:14)
08:47:22.204      │           at runCallback (timers.js:672:20)
08:47:22.204      │           at tryOnImmediate (timers.js:645:5)
08:47:22.204      │           at processImmediate [as _immediateCallback] (timers.js:617:5)

Accompanying screenshot:
screen shot 2017-08-11 at 7 27 09 am

@stacey-gammon
Copy link
Contributor

Strange, the code here should be re-trying to click the dashboard landing page link, but judging by the logs, it's not.

        await retry.try(async () => {
          await this.clickDashboardBreadcrumbLink();
          await testSubjects.find('searchFilter');
        });
      }

However in the logs, I only see one log for the clickDashboardBreadcrumbLink function, and it seems to fail on finding the searchFilter. Perhaps the failure of the inner find call is taking up all the time of the outer retry, and it should instead be an exists call so it bails out sooner if not found.

@stacey-gammon
Copy link
Contributor

Was able to confirm my theory by randomly failing on clickDashboardBreadcrumbLink. Will have a fix out shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Dashboard Dashboard related features test
Projects
None yet
Development

No branches or pull requests

2 participants