Uploaded image for project: 'Metron (Retired)'
  1. Metron (Retired)
  2. METRON-1946

Intermittent Cypress test failure

    XMLWordPrintableJSON

Details

    • Bug
    • Status: To Do
    • Major
    • Resolution: Unresolved
    • None
    • None

    Description

      There appears to be an intermittent test failure related to Cypress tests. In this case, we failed on pcap. Here's some further exposition by Shane Ardell over Slack:

      Shane Ardell
      @Michael Miklavcic I took a look at that travis failure. From the error message, it sounds like a race condition with Cypress running a click command before the page loads. This is very odd because Cypress should pause command execution, prevent them from timing out, and then begin re-running them once the page transition is complete. I think this isn't happening because we are using Angular's internal routing versus having cypress enter a url for us and load the page.
      All that said, this seems like something that rarely happens (I think this is the first failure like this in the ~2 months we've been using Cypress). I merged a PR into master a little bit ago and everything passes. I think I'll create a ticket for us to default to using Cypress' router while still having tests in place to ensure Angular's routing works as intended.

      https://travis-ci.org/apache/metron/jobs/469797918

      Excerpt of the failed test below:

      [INFO] ** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
      [INFO] [00:54:14]  Verifying Cypress can run /home/travis/.cache/Cypress/3.1.0/Cypress [completed]
      [INFO] 
      [INFO] Opening Cypress...
      [INFO] 
      7====================================================================================================
      [INFO] 
      [INFO]   (Run Starting)
      [INFO] 
      7  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      [INFO]   │ Cypress:    3.1.0                                                                              │
      [INFO]   │ Browser:    Electron 59 (headless)                                                             │
      [INFO]   │ Specs:      1 found (pcap/pcap.spec.js)                                                        │
      [INFO]   └────────────────────────────────────────────────────────────────────────────────────────────────┘
      [INFO] 
      [INFO] 
      7[INFO] Date: 2018-12-19T00:54:51.186Z
      [INFO] Hash: d1bc9dd2b68c4ce06cfa
      [INFO] Time: 36778ms
      [INFO] chunk {app-alerts-alerts-list-alerts-list-module-ngfactory} app-alerts-alerts-list-alerts-list-module-ngfactory.js, app-alerts-alerts-list-alerts-list-module-ngfactory.js.map (app-alerts-alerts-list-alerts-list-module-ngfactory) 11.6 kB  [rendered]
      [INFO] chunk {app-alerts-save-search-save-search-module-ngfactory} app-alerts-save-search-save-search-module-ngfactory.js, app-alerts-save-search-save-search-module-ngfactory.js.map (app-alerts-save-search-save-search-module-ngfactory) 5.7 kB  [rendered]
      [INFO] chunk {app-alerts-saved-searches-saved-searches-module-ngfactory} app-alerts-saved-searches-saved-searches-module-ngfactory.js, app-alerts-saved-searches-saved-searches-module-ngfactory.js.map (app-alerts-saved-searches-saved-searches-module-ngfactory) 6.25 kB  [rendered]
      [INFO] chunk {app-login-login-module-ngfactory} app-login-login-module-ngfactory.js, app-login-login-module-ngfactory.js.map (app-login-login-module-ngfactory) 5.38 kB  [rendered]
      [INFO] chunk {app-pcap-pcap-module-ngfactory} app-pcap-pcap-module-ngfactory.js, app-pcap-pcap-module-ngfactory.js.map (app-pcap-pcap-module-ngfactory) 11.9 kB  [rendered]
      [INFO] chunk {main} main.js, main.js.map (main) 2.61 MB [initial] [rendered]
      [INFO] chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 415 kB [initial] [rendered]
      [INFO] chunk {runtime} runtime.js, runtime.js.map (runtime) 8.43 kB [entry] [rendered]
      [INFO] chunk {scripts} scripts.js, scripts.js.map (scripts) 986 kB  [rendered]
      [INFO] chunk {styles} styles.js, styles.js.map (styles) 397 kB [initial] [rendered]
      [INFO] chunk {vendor} vendor.js, vendor.js.map (vendor) 3.47 MB [initial] [rendered]
      [INFO] ℹ 「wdm」: Compiled successfully.
      [INFO] ────────────────────────────────────────────────────────────────────────────────────────────────────
      [INFO]                                                                                                     
      [INFO]   Running: pcap/pcap.spec.js...                                                            (1 of 1) 
      [INFO] 
      [INFO] 
      [INFO]   PCAP Tab
      [INFO] 
      [INFO]     ✓ checking running jobs on navigating to PCAP tab (4294ms)
      [INFO] 
      [INFO]     ✓ submitting PCAP job request (8675ms)
      [INFO] 
      [INFO]     ✓ requesting job status (7166ms)
      [INFO] 
      [INFO]     ✓ process status in percentage (7268ms)
      [INFO] 
      [INFO]     ✓ getting pcap json (6438ms)
      [INFO] 
      [INFO]     1) rendering pcap table
      [INFO] 
      [INFO]     ✓ showing pcap details (7019ms)
      [INFO] 
      [INFO]     ✓ navigating accross pages (7083ms)
      [INFO] 
      [INFO]     ✓ downloading pdml (7566ms)
      [INFO] 
      [INFO]     ✓ cancelling (kill) pcap query job (7820ms)
      [INFO] 
      [INFO]     ✓ showing filter validation messages (4060ms)
      [INFO] 
      [INFO]     ✓ showing date validation messages (6136ms)
      [INFO] 
      [INFO] 
      [INFO]   11 passing (1m)
      [INFO]   1 failing
      [INFO] 
      [INFO]   1) PCAP Tab rendering pcap table:
      [INFO]      CypressError: Timed out retrying: cy.click() failed because this element:
      [INFO] 
      [INFO] <a _ngcontent-c0="" class="nav-link" routerlink="/pcap" routerlinkactive="active" ng-reflect-router-link="/pcap" ng-reflect-router-link-active="active" href="/pcap">PCAP</a>
      [INFO] 
      [INFO] is being covered by another element:
      [INFO] 
      [INFO] <div _ngcontent-c2="" class="fill login-pane" style="">...</div>
      [INFO] 
      [INFO] Fix this problem, or use {force: true} to disable error checking.
      [INFO] 
      [INFO] https://on.cypress.io/element-cannot-be-interacted-with
      [INFO]       at Object.cypressErr (http://localhost:4200/__cypress/runner/cypress_runner.js:68040:11)
      [INFO]       at Object.throwErr (http://localhost:4200/__cypress/runner/cypress_runner.js:68005:18)
      [INFO]       at Object.throwErrByPath (http://localhost:4200/__cypress/runner/cypress_runner.js:68032:17)
      [INFO]       at Object.retry (http://localhost:4200/__cypress/runner/cypress_runner.js:61785:16)
      [INFO]       at retryActionability (http://localhost:4200/__cypress/runner/cypress_runner.js:53584:19)
      [INFO]       at tryCatcher (http://localhost:4200/__cypress/runner/cypress_runner.js:7091:23)
      [INFO]       at Function.Promise.attempt.Promise.try (http://localhost:4200/__cypress/runner/cypress_runner.js:4470:29)
      [INFO]       at tryFn (http://localhost:4200/__cypress/runner/cypress_runner.js:62021:24)
      [INFO]       at whenStable (http://localhost:4200/__cypress/runner/cypress_runner.js:62049:12)
      [INFO]       at http://localhost:4200/__cypress/runner/cypress_runner.js:61809:16
      [INFO]       at tryCatcher (http://localhost:4200/__cypress/runner/cypress_runner.js:7091:23)
      [INFO]       at Promise._settlePromiseFromHandler (http://localhost:4200/__cypress/runner/cypress_runner.js:5113:31)
      [INFO]       at Promise._settlePromise (http://localhost:4200/__cypress/runner/cypress_runner.js:5170:18)
      [INFO]       at Promise._settlePromise0 (http://localhost:4200/__cypress/runner/cypress_runner.js:5215:10)
      [INFO]       at Promise._settlePromises (http://localhost:4200/__cypress/runner/cypress_runner.js:5294:18)
      [INFO]       at Promise._fulfill (http://localhost:4200/__cypress/runner/cypress_runner.js:5239:18)
      [INFO]       at http://localhost:4200/__cypress/runner/cypress_runner.js:6778:46
      [INFO] 
      [INFO] 
      [INFO] 
      [INFO] 
      [INFO]   (Results)
      [INFO] 
      [INFO]   ┌────────────────────────────────────┐
      [INFO]   │ Tests:        12                   │
      [INFO]   │ Passing:      11                   │
      [INFO]   │ Failing:      1                    │
      [INFO]   │ Pending:      0                    │
      [INFO]   │ Skipped:      0                    │
      [INFO]   │ Screenshots:  1                    │
      [INFO]   │ Video:        false                │
      [INFO]   │ Duration:     1 minute, 22 seconds │
      [INFO]   │ Spec Ran:     pcap/pcap.spec.js    │
      [INFO]   └────────────────────────────────────┘
      [INFO] 
      [INFO] 
      [INFO]   (Screenshots)
      [INFO] 
      [INFO]   - /home/travis/build/apache/metron/metron-interface/metron-alerts/cypress/screenshots/pcap/pcap.spec.js/PCAP Tab -- rendering pcap table (failed).png (1280x720)
      [INFO] 
      [INFO] 
      7====================================================================================================
      [INFO] 
      [INFO]   (Run Finished)
      7[INFO] 
      [INFO]       Spec                                                Tests  Passing  Failing  Pending  Skipped 
      [INFO]   ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      [INFO]   │ ✖ pcap/pcap.spec.js                         01:22       12       11        1        -        - │
      [INFO]   └────────────────────────────────────────────────────────────────────────────────────────────────┘
      [INFO]     1 of 1 failed (100%)                        01:22       12       11        1        -        -  
      [INFO] 
       1 2 3 6 6npm ERR! code ELIFECYCLE
      [ERROR] npm ERR! errno 1
      [ERROR] npm ERR! metron-alerts@0.7.0 cypress:run: `cypress run`
      [ERROR] npm ERR! Exit status 1
      [ERROR] npm ERR! 
      [ERROR] npm ERR! Failed at the metron-alerts@0.7.0 cypress:run script.
      [ERROR] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
      [ERROR] 
      [ERROR] npm ERR! A complete log of this run can be found in:
      [ERROR] npm ERR!     /home/travis/.npm/_logs/2018-12-19T00_57_05_638Z-debug.log
      [ERROR] ERROR: "cypress:run" exited with 1.
      [ERROR] npm ERR! code ELIFECYCLE
      [ERROR] npm ERR! errno 1
      [ERROR] npm ERR! metron-alerts@0.7.0 cypress:ci: `run-p --race start cypress:run`
      [ERROR] npm ERR! Exit status 1
      [ERROR] npm ERR! 
      [ERROR] npm ERR! Failed at the metron-alerts@0.7.0 cypress:ci script.
      [ERROR] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
      [ERROR] 
      [ERROR] npm ERR! A complete log of this run can be found in:
      [ERROR] npm ERR!     /home/travis/.npm/_logs/2018-12-19T00_57_05_716Z-debug.log
      [ERROR] npm ERR! code ELIFECYCLE
      [ERROR] npm ERR! errno 1
      [ERROR] npm ERR! metron-alerts@0.7.0 testCI: `ng test --watch=false --browsers=ChromeHeadless && npm run cypress:ci`
      [ERROR] npm ERR! Exit status 1
      [ERROR] npm ERR! 
      [ERROR] npm ERR! Failed at the metron-alerts@0.7.0 testCI script.
      [ERROR] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
      [ERROR] 
      [ERROR] npm ERR! A complete log of this run can be found in:
      [ERROR] npm ERR!     /home/travis/.npm/_logs/2018-12-19T00_57_05_730Z-debug.log
      [INFO] 
      [INFO] ------------------------------------------------------------------------
      [INFO] Reactor Summary:
      [INFO] 
      [INFO] metron-config ...................................... SUCCESS [02:37 min]
      [INFO] metron-alerts ...................................... FAILURE [05:56 min]
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            mmiklavcic Michael Miklavcic
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: