selenium 4 new features
Bu İnceleme Selenium 3 ile Selenium 4 Arasındaki Farkları ve En Son Sürüm Selenium 4'teki (Alpha 3) Yeni Özellikler ve Değişiklikleri Listelemektedir:
Selenium 4 (Alpha 3) versiyonu piyasaya sürüldü. Hepimizin bildiği gibi Selenium'un kurucusu “Simon Stewart” ve şimdi yeni versiyonu sadece web sürücüleri için değil, aynı zamanda Grid ve IDE için de tanıttı.
Selenium 4, W3C standart Web Sürücüsü Protokolünü benimsedi. Google Chrome, Safari, Internet Explorer, Edge ve daha pek çoğu gibi tüm tarayıcılar, tarayıcı sürücüsü ile Selenium Web Sürücüsü arasındaki etkileşimin artık W3C standart web sürücüsü protokolünü temel alacağından dolayı W3C standardını da takip eder.
Ne öğreneceksin:
Selenium 4 İnceleme
W3C standartlarıyla ilgili değişiklikler, daha önceki Selenium komutları farklı tarayıcılarda çok farklı çalıştığı için sürümü iyileştirmek için yapılmıştır.
Not : Selenium 4 Alpha versiyonu Nisan 2019'da yayınlandı.
İndir Selenium 4 Alpha versiyonu aşağıdaki resimde gösterildiği gibi “4.0.0-alpha-6” üzerine tıklayarak:
En son sürüm Kitaplıklar, Maven Merkezi Deposunda mevcuttur.
Önerilen Okuma => Selenium Uzaktan Sürücü
Selenium 3 ve Selenium 4 Arasındaki Fark
Selenyum 3 | Selenyum 4 |
---|---|
Tarayıcı etkileşimi, API kodlamasına ve kodunun çözülmesine ihtiyaç duyması nedeniyle JSON kablo protokolüne dayanır | Hangi sürücü ve tarayıcı iletişiminin standart prosedürü izlemesi nedeniyle W3C standart Protokolünü izler, API kodlama ve kod çözme gerektirmez, bu nedenle iletişim doğrudan gerçekleşir. |
Mimari ile İlgili Önemli Değişiklikler
# 1) Bazı tarayıcılar için kaldırılan destekler: Şimdi, Opera ve Phantom JS tarayıcıları için destekleri kaldırdılar. Opera kullanıcıları Chrome tarayıcısını kullanabilirken Phantom JS kullanıcıları başsız modda Chrome veya Firefox'u kullanabilir.
# 2) Optimize Edilmiş Selenyum Izgara: Selenium Grid, 2011 yılında uzun süredir geliştirildi.
Selenium 4, daha önce kurulum ve yapılandırma sırasında, ayrıca hub ve düğüm makinesi arasındaki bağlantı sırasında ortaya çıkan sorunları ortadan kaldırmak için yeni bir mimari geliştirdi.
İki ana bileşen içeren Selenium Grid'i kısaca anlayalım:
- Düğüm: Bireysel bilgisayar sistemleri üzerinde testler yapmak için kullanılır. Bir ızgarada birden fazla düğüm olabilir.
- Hub: Ağda bulunan tüm makineleri kontrol ettiği merkezi noktadır ve test yürütmenin farklı düğümlere tahsis edilmesine yardımcı olan yalnızca bir hub içerir.
Ancak Selenium 4'te Grid çok esnektir. Vakaları birden çok tarayıcıda, farklı sürümlerdeki tarayıcılarda ve ayrıca farklı İşletim sistemlerinde test etmemize olanak tanır. Şu anda bile, kullanıcı sunucuyu başlattıktan sonra hub ve düğümleri tek tek başlatmak için bir kuruluma gerek yoktur, Grid otomatik olarak hem düğüm hem de hub olarak çalışır.
Ayrıca Docker, AWS, Azure gibi gelişmiş araçları ve DevOps sürecinde faydalı olan çok daha fazlasını destekler. Artık Grid daha kullanıcı dostu bir kullanıcı arayüzüne sahip ve oturum, çalıştırma, kapasite vb. İle ilgili bilgileri içeriyor.
>> Tıklayın İşte daha fazla bilgi için.
# 3) Standartlaştırılmış Belgeler: Belgeler herhangi bir kullanıcı için önemli bir rol oynar ve Selenium belgeleri Selenium 2.0'dan beri güncellenmemiştir.
Selenium 4 ile, en son değişiklikleri açıklamak için web sürücüsü, Grid ve IDE içeren Selenium ile ilgili tüm resmi belgeleri güncellediler.
# 4) Selenium 4 IDE'de İyileştirme: Selenium IDE, tarayıcıyla kullanıcı etkileşimi için kullanılan bir kayıt ve oynatma aracıdır ve IDE'nin yeni sürümü daha fazla özellikle mevcuttur
Bu özellikler şunları içerir:
- Tarayıcı desteğini geliştirir. Artık yeni bir sürümle, herhangi bir tarayıcı satıcısı en son Selenium IDE'ye kolayca bağlanabilir.
- CLI Runner, HTML tabanlı çalıştırıcıya değil, NodeJS'ye dayanacaktır ve alınan yürütme süresinin yanı sıra geçen / başarısız olan toplam test vakası sayısını rapora sağladığı paralel yürütmeyi destekler.
# 5) Daha İyi İzleme: Günlüğe kaydetme ve istek izleme süreci, yalnızca DevOps ile sınırlı olmadığından, otomasyon mühendisleri için hata ayıklama sürecini daha iyi kavramak için geliştirildi.
Selenium 4'ün Özellikleri
Özellikler aşağıdaki gibidir:
# 1) Belirli web öğesinin ekran görüntüsünü yakalayın:
Daha önce, belirli web öğesinin ekran görüntüsünü alma koşulu bulunmadığından, kullanıcılar tüm sayfanın ekran görüntüsünü alabilir. Ancak Selenium 4 ile kullanıcılar belirli bir web öğesinin ekran görüntüsünü alabilir.
Lütfen aşağıdaki kodu bulun:
WebElement logo=driver.Findelement (By.xpath(“//div(@id=’divLogo’)//img”)); File file=logo.getScreenshotAs(OutputType.FILE); File destFile =new File(“logo.png”); FileUtils.copyFile(file,destfile);
# 2) Tarayıcıda yeni sekmeyi açın:
Artık Selenium 4'te kullanıcı, mevcut sekmeyle birlikte yeni bir sekmede bir URL açabilir.
Örneğin: Kullanıcı aynı anda iki farklı sekmede 2 URL açmak isterse bunu Selenium 4 ile yapabilir.
Lütfen referans için aşağıdaki kodu bulun:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.TAB); driver.navigate().to(https://www.crmpro.com/);
# 3) Tarayıcıda yeni bir pencere açın:
Kullanıcılar Selenium 4'ü kullanarak aynı tarayıcıda yeni pencereyi de açabilir.
Örneğin, kullanıcı aynı tarayıcıda iki uygulamaya erişmek isterse artık bunu yapabilir.
Lütfen referans için aşağıdaki kodu bulun:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.WINDOW); driver.navigate().to(https://www.crmpro.com/);
# 4) Nesne Konumu:
Artık Selenium 4 ile kullanıcılar web öğelerinin veya nesnesinin konumu olarak koordinatları, boyutu, yüksekliği, genişliği vb. Elde edebilir.
Lütfen referansınız için aşağıdaki kodu bulun:
karakter dizesi c ++
WebElement logo1=driver.Findelement(By.xpath(“//div(@id=’divLogo’)//img”)); System.out.println(“Height:” +logo.getRect().getDimension().getHeight()); System.out.println(“Height:” +logo.getRect().getDimension().getWidth()); System.out.println(“X Location: “ +Logo.getRect().getX()); System.out.println(“Y Location: “ +Logo.getRect().getY());
# 5) Göreli Konumlandırıcılar:
Bunlar aynı zamanda Dost Konumlandırıcılar olarak da bilinir ve bu işlevsellik, diğer web öğesinin yakınında bulunan öğeyi bulmak için eklenmektedir veya GUI konumuna göre web öğelerini bulabileceğini söyleyebiliriz.
Selenium 4'e eklenen beş konumlandırıcı vardır:
- altında(): Belirtilen öğe için aşağıda bulunan Web öğesi.
- toLeftOf (): Belirtilen öğenin solunda bulunan hedef web öğesi.
- toRightOf (): Belirli bir öğenin sağında sunulan hedef web öğesi.
- yukarıda (): Belirtilen öğe için yukarıda bulunan Web öğesi.
- yakın (): Belirtilen öğeden uzakta (yaklaşık 50 piksel) olan web öğesini hedefleyin.
Not: Yukarıdaki tüm göreli konum belirleme yöntemi 'withTagName' yöntemini destekler.
Aşağıdaki örnek toLeftof () ve below () yer belirleyicileri içindir:
WebElement book; book = driver.Findelement(RelativeLocators.withTagName(“li”).toLeftOf(By.id(“pid1”)) .below(By.id(“pid2”))); String id1=book.getAttribute (“id1”);
Aşağıdaki örnek, toRightOf () ve üstü () konumlayıcıları içindir:
WebElement book1; book1 = driver.Findelement(RelativeLocators.withTagName(“li”).toRightOf(By.id(“pid1”)) .above(By.id(“pid2”))); String id2=book1.getAttribute (“id2”);
# 6) Chrome Dev araçları:
Selenium'un yeni sürümünde, API'de bazı dahili değişiklikler yaptılar. Selenium 3'ün önceki sürümlerinde, Chrome sürücüsü doğrudan Uzak Web Sürücüsü sınıfına yayılıyordu. Ama şimdi Selenium 4'te, Chrome sürücü sınıfı Chromium Sürücüsüne kadar uzanıyor. Chromium Driver sınıfı, geliştirme aracına erişmek için önceden tanımlanmış bazı yöntemlere sahiptir.
Not: Chromium Driver, Uzak Web sürücü sınıfını genişletir.
API kullanarak aşağıdaki işlemleri gerçekleştirebiliriz:
- Çevrimdışı Ağı Etkinleştir
- Ağı Çevrimiçi Etkinleştir
- Konsol Günlüklerini Alın
- Yük Sigortası Web Sitesi
Sonuç
Bu eğitimde, Selenium 4'ün yeni sürümünün girişini, Selenium Grid, IDE ve Selenium WebDriver ile ilgili bazı gelecek özellikleri ele aldık.
Ayrıca Göreli Konum Bulucuların, Chrome geliştirme araçlarının kısa bir açıklamasını da gördük. Selenium 4'ten, tarayıcı desteği, dokümantasyon veya kullanıcı arayüzü gibi çok şey bekleyebiliriz.
Yazar: Bu makale, Yazılım Kalitesi ve Test Çerçeveleri oluşturma konusunda 7 yıldan fazla deneyime sahip Akanksha K tarafından yazılmıştır.
Önerilen Kaynaklar
- 30+ En İyi Selenyum Öğreticisi: Gerçek Örneklerle Selenyum Öğrenin
- Selenium IDE İndirme Kurulumu ve Temel Özelliklere Giriş
- Selenium WebDriver'a Giriş - Selenium Eğitimi # 8
- ChromeDriver Selenium Eğitimi: Chrome'da Selenium Webdriver Testleri
- Selenium Komut Dosyaları Oluşturmak için Firebug Nasıl Kullanılır - Selenium Eğitimi # 4
- Başsız Otomasyon için Selenium PhantomJS Eğitimi
- Selenium Eylemleri: Selenyumda Çift ve Sağ Tıklamayı İşleyin
- Selenyum Konumlayıcılar: Selenyumda XPath Kullanarak Web Öğelerini Tanımlayın (Örnekler)