📏 Gauge
Gauge ile test otomasyonunu Java üzerinde öğren: Markdown spec dosyaları, @Step bağlama, Selenium By locator, @FindBy PageFactory ve JSON locator deposu.
Gauge, ThoughtWorks'ün açık kaynak test otomasyon framework'üdür: senaryolar düz Markdown ile yazılır, Java step implementation'larına @Step annotation'ı ile bağlanır. Selenium By locator'ları, @FindBy/PageFactory ve JSON locator deposu ile gerçek bir E2E framework'ü kurmayı bu sayfada öğreneceksin.
Bu sayfada neler öğreneceksin
- 🏠 Neden Gauge? — Gauge, bir restoranın "sipariş fişi" sistemi gibi çalışır: garson (test yazan kişi) siparişi müşterinin diliyle yazar — "1 ızgara köfte, az pişmiş" — ve mutfak (Java step implementation) bu fişi okuyup teknik işi yapar. Fişte tavanın markas
- ⚙️ Kurulum — Gauge kurulumu, bir matkap + uç seti almaya benzer: önce gövdeyi (gauge CLI) alırsın, ama gövde tek başına delik açmaz — hangi malzemeyi deleceksen ona uygun ucu (java plugin, html-report plugin) takman gerekir. Bu yüzden kurulum İKİ aşamalıdır: `gauge` komutu
- 📝 Spec & Step Temelleri — Spec dosyası ile step implementation arasındaki ilişki, nota kağıdı ile piyanist arasındaki ilişkidir: nota kağıdı (.spec) NE çalınacağını satır satır söyler, piyanist (@Step metodu) her notayı NASIL basacağını bilir. Kritik mekanizma eşleşmedir: notadaki her
- 🎯 By ile Locator Yazma — By locator'ı, bir kuryeye verdiğin adres tarifidir ve tarif türü teslimatın kaderini belirler: By.id "TC kimlik numarası" gibidir — sayfada tekil ve doğrudandır, kapıyı ilk denemede bulur; By.cssSelector "mahalle + sokak + bina tarifi"dir —
- 🗂️ JSON Locator Deposu — JSON locator deposu, bir kütüphanenin kart kataloğudur: kitaplar (elementler) raflardadır, ama HANGİ kitabın HANGİ rafta olduğu bilgisi tek merkezi katalogta (locators.json) tutulur. Kitapların yeri değişince rafları tek tek gezmezsin — sadece katalog kartını
- 🏗️ Framework Mimarisi (SOLID + POM) — Bu sekmeye kadar yazdığın her parça (LoginSteps, LoginPage, LocatorRepository, env/ dosyaları) tek tek çalışıyor ama birbirine GEVŞEK bağlı — tıpkı plansız büyüyen bir gecekondu mahallesi gibi: her ev kendi kuyusunu kazar, kendi elektriğini çeker, sokak numara
- 🌍 Ekosistem & CI/CD — env/ klasörü, bir tiyatro topluluğunun turne düzenine benzer: aynı oyun metni (Java step kodu) İstanbul'da, İzmir'de ve Ankara'da oynanır — oyuncular repliklerini şehre göre değiştirmez, ama her şehrin sahne ekibi ışık/ses ayarlarını (base URL, timeout, kimlik
- 🚨 Gerçek Hayat Sorunları — Hata mesajı okumak, doktorun semptomdan teşhise gitmesi gibidir: ateş (kırmızı test) tek başına hastalığı söylemez — doktor ateşin YANINDAKİ bulgulara bakar (boğaz mı ağrıyor, öksürük mü var?). Gauge + Selenium stack'inde de aynı hata rengi (FAIL) en az dört f