🧞12. Cypress Eşzamansız Davranış(Asynchronous Behavior)

Cypress, JavaScript tabanlı node.js'den türetilmiştir. Cypress komutları, node sunucusuna bağımlı oldukları için doğası gereği senkrondur. Asenkron akış test adımının yürütme için önceki adıma bağlı o

Aşağıda Cypress'teki asenkron davranışa bir örnek verelim.

describe("async ous behavior", () => {
    it("senerio 1", () => {
        // test step to launch a URL
        cy.visit("https://accounts.google.com")
        
        // identify element
        cy.get('h1#headingText').find('span').should('have.text', 'Signin')
        
        cy.get('h1#headingText').find('span')
            .then(() => {
                const t = e.text()
                
                //get in console
                console.log(t)
            })
        
        console.log("cypress notlari")
    })
})

Promise

Cypress komutları, her adımın sırayla yürütüleceği ve aynı anda tetiklenmeyeceği şekilde tasarlanmıştır. Ancak, birbiri ardına sıralanırlar. Böylece akışı senkronize hale getirir. Bu Promise ile sağlanır.

Modes in Promise

Bir Promise, bir komutun yürütülme durumunu kategorize etmek için üç moda sahiptir.

  • Resolved: Test adımı başarıyla çalışırsa bu sonuç oluşur.

  • Pending: Test adımı çalıştırma sonucu bekleniyorsa sonuç budur

  • Rejected: Test adımı başarısız bir şekilde çalışırsa sonuç bu olur.

Example for Promise in Cypress:

describe("async ous behavior", () => {
    it("Promise", () => {
        // test step to launch a URL
        cy.visit("https://accounts.google.com")
            .then(() => {
                return cy.get('h1#heading')
            })
    })
})

Last updated