Nedir? Selenium? Giriş Eğitimi
⚡ Akıllı Özet
Selenium birden fazla programlama dili kullanarak web uygulamalarını tarayıcılar ve platformlar genelinde doğrulamak için tasarlanmış, ücretsiz ve açık kaynaklı bir otomatik test çerçevesidir. Modern kalite güvence uygulamaları için sağlam, verimli ve ölçeklenebilir test otomasyonu sağlar.

Nedir? Selenium?
Selenium farklı tarayıcılarda ve platformlarda web uygulamalarını doğrulamak için kullanılan ücretsiz (açık kaynaklı) otomatik bir test çerçevesidir. Gibi birden fazla programlama dilini kullanabilirsiniz. Java, C#, Pythonvb. oluşturmak için Selenium Komut Dosyalarını Test Edin. kullanılarak yapılan testler Selenium test aracına genellikle şu ad verilir: Selenium Test yapmak.
Uzman Görüşleri
"Testlerinizde sabit uyku gecikmeleri kullanmaktan kaçının. Bunun yerine, öğelerin yüklenmesini beklemek için açık beklemeler (WebDriverWait gibi) kullanın. Bu, betiklerinizi daha güvenilir ve daha hızlı hale getirir, çünkü gerçek sayfa koşullarına dinamik olarak yanıt verirler; her yerdeki öğrenciler için temel bir en iyi uygulama, Selenium".
👉 Ücretsiz Canlı Kayıt Olun Selenium Test Projesi
Selenium Araç Takımı
Selenium Yazılım yalnızca tek bir araç değil, her bir parçası farklı ihtiyaçlara hitap eden bir yazılım paketidir. Selenium Bir kuruluşun QA test ihtiyaçları. İşte araçların listesi
- Selenium Entegre Geliştirme Ortamı (IDE)
- Selenium Uzaktan Kumanda (RC)
- Web Sürücüsü
- Selenium Grid
Şu anda, Selenium RC ve WebDriver tek bir çerçevede birleştirilir ve Selenium 2. Selenium Bu arada 1, şunu ifade ediyor Selenium RC.
Video öğretici Selenium
Tıkla okuyun videoya erişilemiyorsa
kim geliştirdi Selenium?
Dan beri Selenium farklı araçlardan oluşan bir koleksiyondur ve aynı zamanda farklı geliştiricilere de sahiptir. Aşağıda, kayda değer katkılarda bulunan kilit kişiler yer almaktadır. Selenium Proje
Öncelikle, Selenium oldu Jason Huggins tarafından 2004'te yaratıldıThoughtWorks'te bir mühendis olarak, sık sık test gerektiren bir web uygulaması üzerinde çalışıyordu. Uygulamalarının tekrarlayan Manuel Testlerinin giderek verimsizleştiğini fark edince, bir JavaSenaryo Tarayıcının eylemlerini otomatik olarak kontrol edecek bir program tasarladı. Bu programa "JavaScriptTestRunner.”
Bu fikirdeki diğer web uygulamalarının otomatikleştirilmesine yardımcı olma potansiyelini görerek şunları yaptı: JavaDaha sonra adı ScriptRunner olarak değiştirilen açık kaynaklı bir yazılımdır Selenium çekirdek. Web uygulaması testi için diğer seçenekleri keşfetmek isteyenler için bunlara bir göz atın Selenium alternatifleri.
Aynı Menşe Politikası Sorunu
Aynı Menşe politikası yasaklıyor JavaBaşlatıldığı alandan farklı bir alandaki öğelere erişen komut dosyası kodu. Örneğin, www.google.com'daki HTML kodu bir Java"randomScript.js" betik programı. Aynı kaynak politikası, randomScript.js'nin yalnızca google.com/mail, google.com/login veya google.com/signup gibi google.com içindeki sayfalara erişmesine izin verecektir. Ancak, farklı alan adlarına ait oldukları için yahoo.com/search veya guru99.com gibi farklı sitelerdeki sayfalara erişemez.
Bu nedenle, daha önce Selenium RC, test uzmanlarının her ikisinin de yerel kopyalarını yüklemesi gerekiyordu Selenium Çekirdek (bir Java(Komut dosyası programı) ve test edilen web uygulamasını içeren web sunucusu, bu nedenle aynı etki alanına ait olacaklardır
Doğum Selenium Uzaktan kumanda (Selenium RC)
Ne yazık ki, test kullanıcıları Selenium Core, test edilen uygulamanın tamamını ve web sunucusunu, uygulamanın getirdiği kısıtlamalar nedeniyle kendi yerel bilgisayarlarına kurmak zorunda kaldı. aynı menşe politikasıYani ThoughtWorks'ün bir başka mühendisi, Paul Hammant, tarayıcıyı buna inandırmak için HTTP proxy işlevi görecek bir sunucu oluşturmaya karar verdi Selenium Çekirdek ve test edilen web uygulaması aynı etki alanından geliyor. Bu sistem olarak bilinmeye başlandı. Selenium Uzaktan Yönetim or Selenium 1.
Doğum Selenium Grid
Selenium Grid tarafından geliştirildi Patrick Işık Bedeni Test yürütme sürelerini mümkün olduğunca en aza indirme ihtiyacını karşılamak için. Başlangıçta sisteme “Barındırılan QA.” Önemli aşamalarda tarayıcı ekran görüntüleri yakalama yeteneğine sahipti ve ayrıca göndermek Selenium farklı makinelere aynı anda komut gönderebilme.
Doğum Selenium IDE
Shinya Kasatani Japonya'nın yarattığı Selenium IDE, Firefox ve kayıt ve oynatma özelliğiyle tarayıcıyı otomatikleştirebilen bir Chrome uzantısı. Bu fikri, test vakaları oluşturma hızını daha da artırmak için buldu. Bağışladı Selenium IDE'ye Selenium Proje 2006.
WebDriver'ın Doğuşu
Simon Stewart yaklaşık olarak WebDriver'ı oluşturdu 2006 tarayıcılar ve web uygulamaları daha güçlü ve daha kısıtlayıcı hale geldiğinde JavaKomut dosyaları gibi programlar Selenium Çekirdek. Tarayıcıyı işletim sistemi düzeyinde kontrol edebilen ilk çapraz platform test çerçevesiydi.
Doğum Selenium 2
In 2008, Bütün Selenium Ekip WebDriver'ı birleştirmeye karar verdi ve Selenium RC, daha güçlü bir araç oluşturmak için Selenium 2Ile WebDriver çekirdektir. Şu anda, Selenium RC hala geliştirilme aşamasında, ancak yalnızca bakım modunda. Çoğu Selenium Projenin çabaları artık şuna odaklanıyor: Selenium 2.
Peki Neden İsim Selenium?
İsim Selenium Jason'ın bir kez ekibine yaptığı bir şakadan geldi. Sırasında Seleniumgelişimi, başka bir otomatik test çerçeve, popüler olarak şu şirket tarafından yapılmıştır: Mercury interaktif (Evet, HP tarafından satın alınmadan önce QTP'yi üreten şirket). Selenium için iyi bilinen bir panzehirdir. Mercury Zehirlenmenin ardından Jason ve takım arkadaşlarının bu ismi aldığını öne sürdü. Bu çerçeveyi bugüne kadar bu şekilde adlandırmamız gerekiyordu.
Nedir? Selenium IDE?
Selenium Entegre Geliştirme Ortamı (IDE), en basit çerçeve içinde Selenium süit ve öğrenmesi en kolay olanı. It is a Chrome ve Firefox fişe takmak diğer eklentilerle mümkün olduğu kadar kolay bir şekilde kurabilirsiniz. Ancak basitliği nedeniyle Selenium IDE yalnızca bir prototip oluşturma aracı. Daha gelişmiş test senaryoları oluşturmak istiyorsanız aşağıdakilerden birini kullanmanız gerekir: Selenium RC veya Web Sürücüsü.
Nedir? Selenium Uzaktan kumanda (Selenium RC)?
Selenium RC şuydu amiral gemisi test çerçevesi bütün Selenium uzun süredir proje. Bu ilk otomatik web testi araç kullanıcıların tercih ettikleri bir programlama dilini kullanmalarına olanak tanır2.25.0 sürümünden itibaren RC aşağıdaki programlama dillerini destekleyebilir:
Web Sürücüsü nedir?
WebDriver'ın daha iyi olduğunu kanıtlıyor Selenium IDE ve Selenium RC birçok açıdan. Tarayıcının eylemlerini otomatikleştirmede daha modern ve istikrarlı bir yaklaşım uygular. WebDriver'ın aksine Selenium RC'ye güvenilmez JavaKomut dosyası Selenium Otomasyon Testi. Doğrudan iletişim kurarak tarayıcıyı kontrol eder.
Desteklenen diller şuradakilerle aynıdır: Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Yakut
Nedir? Selenium Kafes?
Selenium Izgara bir araçtır ile birlikte kullanılır Selenium Çalıştırılacak RC paralel testler farklı makinelerde ve farklı tarayıcılarda aynı anda. Paralel yürütme, aynı anda birden fazla testin çalıştırılması anlamına gelir.
Özellikler:
- sağlayan testlerin eş zamanlı çalıştırılması in birden fazla tarayıcı ve ortam.
- Zamandan tasarruf muazzam.
- kullanır hub ve düğümler kavram. Hub, merkezi bir veri kaynağı görevi görür. Selenium kendisine bağlı her düğüme komutlar verir.
Selenium Tarayıcı ve Ortam Desteği
Mimari farklılıkları nedeniyle, Selenium SDI, Selenium RC ve WebDriver farklı tarayıcı gruplarını ve işletim ortamlarını destekler.
| Selenium IDE | Web Sürücüsü | |
|---|---|---|
| tarayıcı Desteği | mozilla Firefox ve Chrome | Google Chrome 12+ Firefox Internet Explorer 7+ ve Edge Safari, HtmlUnit ve PhantomUnit |
| OperaZamanlama Sistemi | Windows, Mac OS X, Linux | Yukarıdaki tarayıcıların çalışabildiği tüm işletim sistemleri. |
Not: Opera Sürücü artık çalışmıyor
Doğru Nasıl Seçilir Selenium İhtiyaçlarınız İçin Araç
| araç | Neden seçtin? |
|---|---|
| Selenium IDE |
|
| Selenium RC |
|
| Web Sürücüsü |
|
| Selenium Grid |
|
Gerçek Dünya Vaka Çalışmaları
🔍 Vaka Çalışması 1: SaaS Pano için Tarayıcılar Arası Uyumluluk
senaryo
Yazılım hizmeti sunan bir şirket, modern tarayıcılarda (Chrome, Chrome, vb.) tutarlı bir şekilde çalışması gereken bir analiz panosu yayınlamaya hazırlanıyordu. Firefox, Kenar, Safari).
Zorluklar
Her tarayıcıda manuel test yapmak zaman alıcıydı, hataya açıktı ve hızlı geliştirme yinelemelerine ayak uyduramıyordu.
ile çözüm Selenium
Bir QA mühendisi bir Selenium Grid Aynı test paketini birden fazla tarayıcı ve işletim sistemi kombinasyonunda aynı anda yürütmek üzere kurulum. Testler şu şekilde yazılmıştır: Python kullanma Selenium Giriş, grafik filtreleme ve veri aktarımı gibi eylemler için WebDriver.
Sonuç
- Gerileme süresi %80 oranında azaltıldı.
- Tarayıcıya özgü oluşturma hataları erken keşfedildi (örneğin, IE'deki yanlış hizalanmış grafikler).
- Ekstra manuel döngüler olmadan tarayıcı matrisinde tutarlı bir gösterge paneli kullanıcı deneyimi sağlandı.
⚙️ Vaka Çalışması 2: Web Uygulaması için CI/CD Entegrasyonu Selenium + TestNG
senaryo
Orta ölçekli bir web geliştirme firması Jenkins kullanan bir CI/CD hattına güveniyor. Her kod değişikliğinden sonra çekirdek kullanıcı yolculuklarının çalıştığından emin olmaları gerekiyordu.
Zorluklar
Yeni sürüm dağıtımları zaman zaman kullanıcı akışlarını (oturum açma, form gönderme) bozuyor ve gün sonunda manuel teste kadar tespit edilemiyordu.
ile çözüm Selenium
Bir testçi bir Javatabanlı Selenium WebDriver paketi entegre edildi TestNG. Testler kimlik doğrulama, profil güncellemeleri ve arama işlevlerini kapsıyordu. Bunlar her Jenkins derlemesinde çalıştı, paralel yürütme ve tarayıcı parametrelendirmesinden yararlandı.
Sonuç
- Hızlı geri bildirim sağlandı: bozulan akışlar hemen işaretlendi.
- Dağıtım sonrası hatalar %60'ın üzerinde azaltıldı.
- Geliştiricilerin QA'ya ulaşmadan önce sorunları çözmelerini sağladı.
🚀 Vaka Çalışması 3: Seyahat Toplayıcısı için Özellik Yayınlamanın Hızlandırılması
senaryo
Bir seyahat toplayıcı platformunun yenilenmiş bir uçuş rezervasyonu özelliğini yayınlaması gerekiyordu. 10+ sayfadaki manuel regresyon testleri günler sürdü ve yayınlanması engellendi.
Zorluklar
Piyasaya sürme süresini kısaltma baskısı, manuel test döngülerinin önüne geçemezdi; bu da gecikmelere veya daha düşük kaliteye yol açabilirdi.
ile çözüm Selenium & Sayfa Nesne Modeli
Bir QA otomasyon sorumlusu C# dilinde bir Sayfa Nesne Modeli (POM) yapısını tanıttı. Selenium WebDriver betikleri, sayfa öğelerini ve eylemlerini (uçuş arama, filtre uygulama ve ödeme durumları) kapsülledi. Otomatik test çalıştırmaları, GitLab CI'da her gece tetiklendi.
Sonuç
- Test süresi 3 günden 4 saate düştü.
- Birden fazla özellikte komut dosyasının yeniden kullanılması, komut dosyası yazma çabasını %50 oranında azalttı.
- Güven arttı: Sürüm, en az hata raporuyla zamanında yayınlandı.
ortak Selenium Zorluklar (ve Çözümler)
Rağmen Selenium Güçlü olmasına rağmen, test uzmanları genellikle güvenilirliği ve hızı etkileyebilecek zorluklarla karşılaşır. İşte yaygın olanlardan bazıları ve bunların nasıl çözüleceği:
- Kararsız Testler:
Zamanlama veya ağ sorunları nedeniyle testler rastgele başarısız olabilir.
Fix: Açık beklemeleri ve istikrarlı konum belirleyicileri kullanın; kaçınınThread.sleep(). - Dinamik Web Öğeleri:
Eleman ID'lerini veya XPath'lerini değiştirmek eleman bulunamadı hatalarına neden olur.
Fix: Bağıl XPath'leri, CSS seçicilerini veya dinamik öznitelik işlemeyi kullanın. - Synchronizasyon Sorunları:
Öğeler betik yürütülmesinden daha yavaş yüklenir.
Fix: Beklenen koşullarla WebDriverWait'i uygulayın. - Tarayıcılar Arası Tutarsızlıklar:
Testler Chrome'da farklı davranıyor, Firefoxveya Edge'i seçin.
Fix: Testleri çalıştırın Selenium Tarayıcılar arası doğrulama için grid veya bulut platformları. - Açılır Pencereleri ve Uyarıları Yönetme:
Beklenmeyen açılır pencereler test akışını kesintiye uğratabilir.
Fix: Kullanım Selenium'nin Uyarı arayüzünü veya try-catch bloklarını kullanarak bunları zarif bir şekilde yönetin. - Test Bakım Giderleri:
Sık sık yapılan kullanıcı arayüzü değişiklikleri testleri kırılgan hale getirir.
Fix: Kolay güncellemeler için Sayfa Nesne Modeli'ni (POM) ve sürüm kontrolünü benimseyin. - Entegrasyon Zorlukları:
CI/CD boru hatları sürücü sorunları nedeniyle başarısız olabilir.
Fix: Kullanım Selenium Müdür (Selenium 4+) veya WebDriver Manager'ı kullanarak sürücüleri otomatik olarak yönetin.
Kısacası: köprü Selenium Sorunlar, zayıf senkronizasyondan veya kırılgan konumlayıcılardan kaynaklanır; her ikisi de daha akıllı beklemeler, modüler tasarım ve sürekli bakımla çözülebilir.




.png)
.jpg)
.jpg)
.jpg)



