🖱️ Temel Komutlar & Selector Stratejisi

Temel Komutlar & Selector Stratejisi: Cypress'te her komut cy ile başlar ve bir Promise benzeri ama "chainable" (zincirlenebilir) nesne döndürür.

Cypress'te her komut cy ile başlar ve bir Promise benzeri ama "chainable" (zincirlenebilir) nesne döndürür. cy.visit() sayfaya gider, cy.get() CSS selector ile element bulur, cy.contains() ise görünür metne göre arar. Bu komutlar senkron gibi YAZILIR ama arka planda asenkron ve retry-ability'lidir — yani await/async yazmana gerek yoktur, Cypress kuyruğu kendi yönetir.

Micro Lab: Cypress — cy.get() secimi

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

Adim Adim: Cypress — cy.get() secimi

data-cy attribute var mi kontrol et — varsa cy.get("[data-cy=btn]") kullan

data-cy yoksa cy.get("#id") veya cy.get(".class") yaz

Metin icerigi onemse cy.contains("Giris Yap") veya .contains() zincirle

Ic iceye yapi gerekiyorsa .find("button") ile cocuk elementi ara

Assertion: .should("be.visible"), .should("have.text", "...")

Cypress ile element secme ve zincir kurma sirasi nedir?

Explicit wait yazman gerekir, yoksa StaleElementReferenceException riski var.

Cypress (JavaScript)

Element DOM'a gelene ve tıklanabilir olana kadar cy.get()+click() otomatik bekler.

Selenium'da findElement() "anlık" bir sorgudur — element o anda DOM'da yoksa hemen patlar. Cypress'in cy.get() komutu ise "sabırlıdır": elementi bulana kadar (varsayılan defaultCommandTimeout: 4000ms) arka planda tekrar tekrar dener.