वेब एप्लिकेशन पर, विशेष तत्व केवल पृष्ठ पुनः लोड होने के बाद दिखाई देता है और वह भी कुछ समय बाद उपलब्ध होता है, इसलिए वर्तमान में मैंने इसे नीचे के रूप में लागू किया है:

it('element-check', () => {
    cy.visit('url')
// performing certain actions 
    cy.wait(150000)
    cy.reload()
    cy.contains('text').click()
})

निश्चित प्रतीक्षा cy.wait(150000) के बजाय, मुझे मतदान तंत्र का इस तरह से उपयोग करने की आवश्यकता है कि प्रत्येक 30 सेकंड के बाद पृष्ठ पुनः लोड हो रहा है और तत्व दिखाई देने तक आवश्यक तत्व की जांच करें।

2
Pratik Patel 18 नवम्बर 2020, 15:39

1 उत्तर

सबसे बढ़िया उत्तर

आप इसे प्राप्त करने के लिए एक पुनरावर्ती फ़ंक्शन का उपयोग कर सकते हैं।

it('element-check', () => {
  cy.visit('url')

  function isElementVisible() {
    let retry = 0
    if (retry < 5 && Cypress.$('selector').length == 0) {

      //Increment retry
      retry++

      //wait 30 seconds
      cy.wait(30000)

      //Reload Page
      cy.reload()

      //Element is not yet visible, Call the recursive function again
      cy.then(isElementVisible)

    } else if (retry < 5 && Cypress.$('selector').length == 1) {
      cy.get('selector').click()
      return

    } else {
      //It excedded required no. of execution
      return
    }
  }
  //Trigger the recursive function
  cy.then(isElementVisible)
})
2
Alapan Das 19 नवम्बर 2020, 05:17