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