title: Cypress not retrying assertion
body: <p>My Cypress test is acting inconsistently due to an assertion set on header text. Here is my code:</p>
  <pre><code>cy.get('.heading-large').should('contain', 'dashboard') // passes
  cy.contains('View details').first().click()
  cy.get('.heading-large').should('contain', 'Registration details') // sometimes fails
  </code></pre>
  <p>If it fails, it is because the heading still contains 'dashboard' - Cypress appears not to have retried but gives error <code>Timed out retrying: expected '&lt;h1.heading-large&gt;' to contain 'Registration details'</code></p>
  <p>From reading about <a href="https://docs.cypress.io/guides/core-concepts/retry-ability.html#Commands-vs-assertions" rel="nofollow noreferrer">Cypress retry-ability</a>, my understanding is that the <code>should</code> assertion should keep trying until timeout, which is set as <code>&quot;defaultCommandTimeout&quot; : 5000</code>. This feels true even if I have an element with the same identifier across two pages. There are no major performance issues with the app I'm testing.</p>
  <p>The test seems more likely to fail if I am not watching the window and <a href="https://github.com/cypress-io/cypress/issues/5023" rel="nofollow noreferrer">this issue</a> looks like a possible cause.</p>
  <p>Can anyone help determine: is there an issue with my test or Cypress, and how might I improve the test? I'm using Cypress 5.1.0 and Chrome 85 on MacOS Catalina.</p>