Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 1.91 KB

12.-cypress-eszamansiz-davranis-asynchronous-behavior.md

File metadata and controls

62 lines (45 loc) · 1.91 KB
description
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

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

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')
            })
    })
})