Selenyumda Bileşen Bulmanın En Kolay 6 Yolu
Yayınlanan: 2022-05-19Selenium'daki bileşenler, bir uygulamayı veya yazılımı test ederken önemli bir rol oynar; bunlar Selenium otomasyon komut dosyalarının yapı taşıdır. Ancak, bununla ilgili asıl zorluk, gerektiğinde bu bileşenleri web sayfasında bulmaktır.
Neyse ki, bu bileşenleri Selenium'da bulmanın çeşitli yolları var. Otomasyon testinde farklı veri yükleme etkinliklerinde size yardımcı olacak belirli bir kullanım için belirli bileşenleri bulabilirsiniz .
Bunlara, güçlü komutlardan başka bir şey olmayan yer belirleyiciler veya yer belirleme teknikleri denir. Bu konumlandırıcıları kullanarak, birden çok kullanıcı işlemini gerçekleştirebileceğiniz GUI bileşenlerini hızla bulabilirsiniz.
Ancak, Selenium'da bileşen bulmanın farklı yollarını incelemeden önce, bu bileşenlerin ne olduğunu ve nasıl çalıştıklarını anlamak çok önemlidir.
Selenyumdaki Bileşenler
Bir web sitesini veya otomatik veri yüklemeyi regresyon testi için en iyi araç şüphesiz Selenium'dur. Basit bir ifadeyle, Selenium'un web tarayıcılarını programlar veya komutlar aracılığıyla kontrol etmek için güçlü bir araç olduğunu söyleyebiliriz.
Her tarayıcı için pratiktir ve her önemli İşletim Sisteminde çalışmanıza olanak tanır. Komut dosyaları Python, Java, C# vb. gibi çeşitli programlama dillerinden oluşur. Ayrıca, bunların yanında birkaç başka dil kullanır ve burada basit bir anlayış için çok popüler Python dilini kullanacağız.
Selenium'un dört temel öğesi vardır: Selenium IDE, Selenium RC, Selenium Web Driver ve Selenium GRID.
Selenyum, dünya çapındaki mekanizasyon test edicileri tarafından bir süredir sektörde var olmuştur.
Selenyum'un dört temel unsurunu inceleyelim –
selenyum IDE
Selenium IDE (Entegre Geliştirme Ortamı olarak da bilinir), Selenium Suite'teki önemli ekipmanlardan biridir. Selenium deneyleri için tam bir entegre geliştirme ortamıdır (IDE). Bir Firefox eklentisi ve bir Chrome Uzantısı olarak uygulanır.
Selenium IDE'nin bir başka yönü, pratik denemelerin yakalanmasını, yeniden yazılmasını ve hatalarının ayıklanmasını sağlamasıdır. Eskiden Selenyum Kaydedici olarak tanınırdı. Selenium-IDE ilk olarak Shinya Kasatani tarafından kurulmuş ve 2006 yılında Selenium projesine kazandırılmıştır.
Selenium IDE daha önce uygun şekilde korunmamıştı ve 2018'de var olmaya başladı.
Yazılar, otomatik tamamlama yardımı ve komutları hızlı bir şekilde değiştirme yeterliliği sağlayarak, kendi başlarına yakalanıp manuel olarak değiştirilmiş olabilir. Komut dosyaları, Selenium için özel bir deneme komut dosyası dili olan Selenese'de rapor edilir.
Selenese, bir tarayıcıda etkinlikleri yürütmek (bir bağlantıya basın, bir alternatif seçin) ve oluşan sayfalardan veri almak için komutlar verir.
Selenyum RC (Uzaktan kumanda)
Selenium Remote Control (aka RC), HTTP aracılığıyla tarayıcı aracılığıyla komutları onaylayan Java dilinden oluşan bir web sunucusudur. RC, çeşitli kodlama dillerinde web uygulamaları için bilgisayarlı testler oluşturmayı kolaylaştırır ve Selenium'un geçerli bileşen test çerçevelerine uygun şekilde entegrasyonunu sağlar.
Selenium programı şu anda tez testlerini basitleştirmek için PHP, Python, Ruby, .NET, Perl ve Java gibi çeşitli diller için tüketici sürücüleri sağlıyor. Ayrıca, Java Sürücüsünü JavaScript ile (Rhino motoru aracılığıyla) kullanabilirsiniz.
Bir HTML test denemesi yayınlamak için bir selenyum RC sunucusu örneği gereklidir - bu, her benzerlik çalışması için bağlantı istasyonunun birkaç olması gerektiği anlamına gelir. Bununla birlikte, Java/PHP test durumu için, yalnızca bir Selenium RC örneğinin sonsuza kadar çalışması gerekir.
Selenyum Web Sürücüsü
Selenium WebDriver, Selenium RC'nin mirasçısıdır. Selenium WebDriver komutlara uyar (Selenese'de veya bir İstemci API'si aracılığıyla sağlanır) ve bunları bir tarayıcıya sağlar. Bu, bir tarayıcıya komutlar veren ve sonuçları elde eden tarayıcıya özel bir tarayıcı sürücüsü aracılığıyla uygulanır.
Neredeyse tüm tarayıcı sürücüleri kesinlikle tarayıcı uygulamalarını açar ve bunlara erişir (Mozilla Firefox, Google Chrome, Internet Explorer, Safari ve hatta Microsoft Edge gibi); ayrıca, bir HtmlUnit tarayıcı sürücüsü, başsız HtmlUnit uygulamasını kullanarak bir tarayıcıya öykünür.
Selenium WebDriver, testleri uygulamak için benzersiz bir sunucu gerektirmez. Bunun yerine, WebDriver hızlı bir şekilde bir tarayıcı resmi açar ve onu düzenler. Bununla birlikte, uzak ağlarda testler yapmak için Selenium Grid'i WebDriver ile kullanabilirsiniz.
Mümkün olduğunda, WebDriver, uygulamayı çalıştırmak için tarayıcı tabanlı JavaScript önerileri yerine yerel işletim sistemi düzeyindeki işlevselliği kullanır. Bu, güvenlik düzenlemelerini kapsayan, yerli ve JavaScript komutları arasındaki mütevazı tutarsızlıklarla ilgili sorunları atlar.
selenyum IZGARA
Selenium Grid, deneylerin izole cihazlarda çalışan web tarayıcısı örneklerini kullanmasını sağlayan bir sunucudur. Hub, tarayıcı örneklerine (WebDriver düğümleri) erişen sunucuları kaydeder ve testlerin bu örnekleri kullanmasına izin verir.
Selenium Grid, birden fazla cihazda yazışmalarda testler yapılmasına ve farklı tarayıcı sürümlerinin ve tarayıcı bileşimlerinin merkezi olarak yönetilmesine (her bir test yerine) izin verir.

İzole tarayıcı örneklerinde testleri yönetme yeterliliği, test yasasını çeşitli makinelerde dolaştırmaya ve birden çok platformda veya işletim sisteminde çalışan uygulamalarda testler gerçekleştirmeye yardımcı olur. Diğeri, test için kullanılacak tüm uygulamaların aynı platformda çalışamadığı durumlarda faydalıdır.
Selenyumda Bileşen Bulmanın En Kolay 6 Yolu
Selenium'da yollar yer belirleyicilerden başka bir şey değildir; bu yer belirleyiciler, Selenium'daki GUI öğelerini girmek ve bulmak için erişilebilen güçlü komutlardır. Ayrıca, bu komutları birden çok kullanıcı eylemi gerçekleştirmek için kullanabilirsiniz.
Selenium'da GUI bileşenlerini bulmanın 6 kolay yolunun listesi:
- İD
- İsim
- Bağlantı metni
- Kısmi Bağlantı Metni
- Etiket adı
- Sınıf adı
Selenium WebDriver'da yukarıdaki konumlandırıcıları kullanarak bileşenleri "findElement/findElements" sözdizimi yoluyla bulabilirsiniz.
1. Kimlik Bulucu
Kimlikler, Selenium'da bileşenleri bulmak için en etkili ve en hızlı konum belirleme seçeneğidir. Kimlikler, herhangi bir bileşeni tanımlamak için benzersiz sayılardır. Kimlik bulucu, document.getElementById() öğesini çağırarak onu en hızlı konum belirleyici seçeneği haline getirir. Birçok tarayıcı iD'leri optimize eder.
2. İsim Bulucu
Kimlik bulucu Ad bulucuya geldikten sonra, herhangi bir web öğesinin kimlik özniteliği olmaması faydalıdır. Ancak, ad bulucularla ilgili sorun, her seferinde benzersiz olamamalarıdır. Selenium, en az iki veya daha fazla ad varsa, herhangi bir eylemi gerçekleştirmek için eşleşen ilk öğeyi seçecektir.
3. Bağlantı Metni Bulucu
Bu, duruma dayalı bir konum belirleme seçeneğidir. LinkText Locator, By.linkText() yöntemi aracılığıyla tam bağlantı metinlerini kullanarak bağlantılara erişir. Ancak, iki veya daha fazla ilişkilendirmenin tam bağlantı metnine sahip olduğu bir durum olabilir; bu durumda, Selenium herhangi bir eylemi gerçekleştirmek için bağlantıyla eşleşen ilk öğeyi seçer.
4. Kısmi Bağlantı Metni Bulucu
Bu yine duruma dayalı bir konum belirleme seçeneğidir. Kısmi LinkText Locator, By.partialLinkText() yöntemi aracılığıyla bağlantı metninin bir bölümünü kullanarak bağlantılara erişir. Birden çok eşleşme içeren bir kısmi bağlantı metni belirtirseniz, hepsinden ilk eşleşmeye erişilir.
5. Etiket Adı Bulucu
TagName Locator, bir DOM yapısının bir parçasıdır ve bu yapıda, bir Selenium web sayfasındaki her öğe, button etiketi, giriş etiketi, bağlantı etiketi vb. etiketlerle tanımlanır. Her etiket, ad, değer sınıfı, kimlik gibi birden çok öznitelikle birlikte gelir. , vb.
6. SınıfAdı Bulucu
Öğeler class özniteliği kullanılarak tanımlandığında, ClassName Locator onları bulmanın en iyi yollarından biridir. Class niteliklerinin en iyi yanı, ID gibi benzersiz olması gerekmemesidir.
Selenyumda Bileşen Bulmanın Diğer Yolları
Selenium'da bileşen bulmanın en belirgin altı yolu dışında, iki yol daha vardır. Bu yollar o kadar vurgulanmaz, ancak kullanımları etkilidir.
1. XPath
XPath ifadesi, web bileşenlerini bulmak için güvenilir yollar sağlar, ancak aynı zamanda tüm konum belirleyiciler arasında en yavaş olanıdır. XPath motorları, her tarayıcıda farklı oldukları için tarayıcılar arasında tutarsızdır. Örneğin, Chrome'da yazarsanız XPath kodunuz IE'de çalışmaz.
2. CSS Seçici
Web bileşeninde bir kimlik veya ad yoksa, bunları bulmanın en iyi yolu CSS Seçici kullanmaktır. XPath ile karşılaştırıldığında, CSS daha hızlı ve daha okunaklı. CSS, tüm popüler tarayıcılarla uyumludur ve performansı artırır. Uygulamamızı birden fazla tarayıcıda test etmek istediğinizde CSS kullanışlı hale gelir. XPath işlevsiz IE olduğundan CSS, IE için en iyisidir.
LambdaTest ile Selenyum Otomasyon Testinize Başlayın
Selenium'da bileşenleri bulmak, bileşenlerin web sayfasındaki konumu ve doğru yaklaşımı gerçekleştirmenin tüm olası yolları hakkında tam bir farkındalık gerektirir. Bunu yapmanın en iyi altı yolunu listeledik; ancak birkaç tane daha bulabilirsiniz, ancak yukarıda listelediklerimiz tüm Selenium bileşenlerini bulmak için yeterlidir. Selenium, tüm temel bileşenlerin parmaklarınızın ucunda olduğu LambdaTest çerçevesiyle kolaylaşıyor.
Güçlü bir bulut test platformu olan LambdaTest, otomasyon testi becerilerinizi hızlandırmanıza yardımcı olacaktır. 3000'den fazla masaüstü ve mobil tarayıcıda Selenium, Cypress, Playwright ve Puppeteer gibi en iyi otomasyon test araçlarıyla otomatik tarayıcı testi sağlar ve ayrıca gelişmiş otomasyon test araçlarını öğrenmenize yardımcı olacak hata ayıklama için entegre geliştirici araçlarını kullanır. Ayrıca 130'dan fazla ülkeden 600.000'den fazla sadık kullanıcıya sahiptir.
LambdaTest ile Selenium, test yolculuğunuzu hızlandırmak için ihtiyacınız olan tek çifttir.