Selenium 4.0: Daha Yeni, Daha İyi

Bugün size Selenium 4.0′daki tüm yenilikleri anlatacağım. Son olarak, 13 Ekim’de Selenium 4‘ün en düzenli sürümü duyuruldu. Peki Selenium 4.0’da daha yeni ve iyi olan neler var?

Adım adım yenilikleri anlatmadan önce söylemem gereken çok şey var. İlk olarak, JSON Wire Protocol, yeni sürümden önce test kodu ile tarayıcı arasındaki ana iletişim moduydu. Yeni sürüm, W3C uyumluluğuna sahip olduğu için WebDriver W3C (World Wide Web Consortium) protokolünü kullanır. Bu, WebDriver’ın artık doğrudan hedef tarayıcıyla etkileşime gireceği anlamına gelir ve tarayıcı testlerini daha sağlıklı geçmemizi sağlayacaktır. Kısaca yenilikleri anlatayım.

Yenilenmiş Selenyum Izgarası

Selenium 4, kurulum ve konfigürasyon sırasındaki önceki sorunları ve hub ile düğüm makinesi arasındaki bağlantı sırasındaki sorunları ortadan kaldırmak için yeni bir mimari ile geldi. Yeni Selenium Grid, Docker desteğiyle birlikte gelir ve testçilerin ve geliştiricilerin ağır sanal makineler kurmak yerine kapsayıcıları döndürmesine olanak tanır. Ayrıca, QA’lerin daha iyi ölçeklendirme için Kubernetes’te ızgarayı dağıtmasına izin verecek şekilde yeniden tasarlandı. Selenium Grid’in geliştirilmesi, AWS, Azure gibi araçlarla uyumluluk sağladığı için DevOps sürecini iyileştirecektir.

Geliştirilmiş Selenyum IDE

Selenium IDE, tarayıcı ile kullanıcı etkileşimi için bir kayıt ve oynatma aracıdır ve IDE’nin yeni sürümü daha fazla özellik ile mevcuttur. Eski sürümde sadece Firefox kullanılabilirken, Selenium’un yeni sürümünde artık diğer tarayıcılarla çalışabilirsiniz. Bazen yanlış durumlar olsa da, Selenium IDE kullanılarak kaydedilen test senaryoları için kod, Java, C#, Python, .NET ve JavaScript gibi istenen dil bağlantılarında dışa aktarılabilir.

Göreli Konumlandırıcılar

Göreceli konumlandırıcılar, aynı zamanda “Friendly locators” olarak da adlandırılır ve bu işlevsellik, öğeyi başka bir web öğesinin yakınında bulmak için eklenir veya web öğelerini GUI konumuna göre bulabiliriz. Yeni eklenen konumlandırıcıları, toLeftOf(), toRightOf(), below(), near(), above() listeleyebiliriz.

Chrome Hata Ayıklama Protokolünü (CDP) Destekleme

Selenium 4, DevTools arayüzü aracılığıyla Chrome DevTools Protokolü (CDP) için yerel destek sağlar. Bu, QA’lerin artık Getirme, Ağ, Profil Oluşturucu, Performans, Uygulama önbelleği ve daha fazlası gibi Chrome geliştirme özelliklerini kullanabilmesini sağlar. Ayrıca bu özellik, geliştiricilerin ve QA’in belirli web sayfaları için kritik hataları daha anında test etmesine ve çözmesine yardımcı olur.

Yeni pencerelerin kontrolüne izin verir

Yeni Selenium sürümü ile kullanıcı, mevcut sekme ile yeni bir sekmede bir URL açabilir. Yani bu özellik, kullanıcının birden fazla pencere açmasına ve sekmeleri yönetmesine izin veriyor. Yeni bir pencere açmak için aşağıdaki adımları takip edebilirsiniz;

driver.get(http://www.google.com/);

driver.switchTo().newWindow(WindowType.TAB);

driver.navigate().to(http://www.testeryou.com/);

Güncellenmiş Belgeler

Selenium belgeleri Selenium 2.0’dan beri güncellenmemişti. Eski Selenium kullanıcıları, belgeleme yeteneğinin olmaması nedeniyle çok fazla zorluk yaşıyorlardı. En son değişiklikleri açıklamak için web sürücüsü, Izgara ve IDE içeren Selenium için tüm resmi belgeleri güncellediler. Kapsamlı belgeler, Selenium çatısı altındaki tüm araçlar ve API’ler hakkında bilgileri kapsar. Bu, test kullanıcılarının Selenium testine başlamak için gereken tüm özellikleri öğrenmesine yardımcı olacaktır.

Selenium’da şimdiye kadar yapılan yenilikleri ve iyileştirmeleri anlattım, bir sonraki bölümde kullanımdan kaldırılanları ve değişiklikleri anlatacağım.

İstenen Yeteneklerin Kullanımdan Kaldırılması

İstenen Yetenekler, Selenium Grid üzerinde çalışacak test ortamını (tarayıcı adı, sürüm, işletim sistemleri) tanımlamak için öncelikle test komut dosyalarında kullanıldı. Bu artık seçeneklerle değiştirildi. Bu, testçilerin artık bir Options nesnesi oluşturması, test gereksinimlerini belirlemesi ve nesneyi Driver yapıcısına iletmesi gerektiği anlamına gelir. Selenium’un içerdiği Seçenekler nesneleri şu şekilde sıralanabilir; Firefox – FirefoxOptions, Chrome – ChromeOptions, Internet Explorer (IE) – InternetExplorerOptions, Microsoft Edge – EdgeOptions, Safari – SafariOptions.

Eylem sınıfındaki değiştirmeler

Selenium’daki Actions sınıfı, öncelikle belirli web öğelerinde fare ve klavye giriş eylemlerini simüle etmek için kullanılır (Örnek: Sol tıklama, Sağ tıklama, Çift tıklama, vb.). Selenium 4.0’da Action Class’ta yapılan değişiklikleri şu şekilde sıralayabiliriz; click(WebElement), contextClick(WebElement), clickAndHold(WebElement), doubleClick(WebElement), release().

Yukarıda yazdığım maddeler dışında başka özellikler ve kaldırılanlar da var. Onları açıklayayım. Önceden tüm sayfanın ekran görüntüsünü alabiliyorken, artık belirli bir nesnenin ekran görüntüsünü alabiliyoruz. Ayrıca, kullanıcılar web öğelerinin veya nesnenin konumu olarak koordinatları, boyutu, yüksekliği, genişliği vb. elde edebilirler.

Bunlar Selenium 4.0’ın yenilikleriydi. Yukarıdakiler göz önüne alındığında, Selenium 4’teki özelliklerin test sürecini kolaylaştırmak açısından oldukça umut verici olduğunu görebiliyorum. Umarım sizi biraz Selenium 4.0 ile tanıştırabilmişimdir ve bu bilgiler size yardımcı olur.