Selenyum nedir?
Selenium , farklı tarayıcılarda ve platformlarda web uygulamalarını doğrulamak için kullanılan ücretsiz (açık kaynaklı) otomatikleştirilmiş bir test çerçevesidir. Selenium Test Scriptleri oluşturmak için Java, C #, Python vb. Gibi birden çok programlama dilini kullanabilirsiniz. Selenium test aracı kullanılarak yapılan testlere genellikle Selenyum Testi denir.
Selenium Software sadece tek bir araç değil aynı zamanda bir yazılım paketidir, her bir parça bir organizasyonun farklı Selenium QA test ihtiyaçlarını karşılamaktadır. İşte araçların listesi
- Selenium Entegre Geliştirme Ortamı (IDE)
- Selenium Uzaktan Kumanda (RC)
- WebDriver
- Selenyum Izgara
Şu anda, Selenium RC ve WebDriver, Selenium 2'yi oluşturmak için tek bir çerçevede birleştirildi . Bu arada Selenium 1, Selenium RC'yi ifade eder.
Videoya erişilemiyorsa burayı tıklayın
Bu eğitimde şunları öğreneceksiniz:
- Selenyum nedir?
- Selenium'u kim geliştirdi?
- Aynı Menşe Politikası Sorunu
- Selenium Uzaktan Kumandanın Doğuşu (Selenium RC)
- Selenium Grid'in Doğuşu
- Selenium IDE'nin Doğuşu
- WebDriver'ın Doğuşu
- Selenium 2'nin Doğuşu
- Peki Selenium Adı Neden?
- Kısa Tanıtım Selenium IDE
- Kısa Tanıtım Selenium Remote Control (Selenium RC)
- Kısa Tanıtım WebDriver
- Selenyum Izgara
- Tarayıcı ve Ortam Desteği ile İlgili Not
- İhtiyacınız için Doğru Selenyum Aleti Nasıl Seçilir
- Selenium ve QTP (şimdi UFT) arasında bir karşılaştırma
- QTP'nin Selenyum'a göre avantajları
Selenium'u kim geliştirdi?
Selenium farklı araçlardan oluşan bir koleksiyon olduğu için farklı geliştiricileri de vardı. Selenium Projesine önemli katkılarda bulunan kilit kişiler aşağıdadır
Öncelikle Selenium, 2004 yılında Jason Huggins tarafından oluşturuldu . ThoughtWorks'te bir mühendis, sık sık test gerektiren bir web uygulaması üzerinde çalışıyordu. Uygulamalarının tekrarlanan Manuel Testinin gittikçe daha verimsiz hale geldiğini fark ettikten sonra, tarayıcının eylemlerini otomatik olarak kontrol edecek bir JavaScript programı yarattı. Bu programı " JavaScriptTestRunner " olarak adlandırdı . Bu fikirdeki diğer web uygulamalarını otomatikleştirmeye yardımcı olma potansiyeli gördüğünden, JavaScriptRunner'ı daha sonra Selenium Core olarak yeniden adlandırılan açık kaynak yaptı . |
Aynı Menşe Politikası Sorunu
Aynı Kaynak politikası, JavaScript kodunun başlatıldığı yerden farklı bir etki alanından öğelere erişmesini yasaklar . Örneğin, www.google.com'daki HTML kodu bir "randomScript.js" JavaScript programı kullanır. Aynı kaynak politikası, randomScript.js'nin yalnızca google.com içindeki google.com/mail, google.com/login veya google.com/signup gibi sayfalara erişmesine izin verir. Ancak, farklı etki alanlarına ait oldukları için yahoo.com/search veya guru99.com gibi farklı sitelerdeki sayfalara erişemez.
Selenium RC'den önce, test uzmanlarının hem Selenium Core'un (bir JavaScript programı) hem de test edilen web uygulamasını içeren web sunucusunun yerel kopyalarını aynı etki alanına ait olmaları için yüklemelerinin gerekmesinin nedeni budur.
Selenium Uzaktan Kumandanın Doğuşu (Selenium RC)
Ne yazık ki; Selenium Core kullanan test uzmanları, aynı menşe politikasının getirdiği kısıtlamalar nedeniyle test edilen tüm uygulamayı ve web sunucusunu kendi yerel bilgisayarlarına kurmak zorunda kaldı . Bu nedenle, başka bir ThoughtWork mühendisi olan Paul Hammant , tarayıcıyı Selenium Core ve test edilen web uygulamasının aynı etki alanından geldiğine inandırmak için "kandırmak" için bir HTTP proxy'si görevi görecek bir sunucu oluşturmaya karar verdi. Bu sistem Selenium Uzaktan Kumanda veya Selenium 1 olarak bilinmeye başlandı .
Selenium Grid'in Doğuşu
Selenium Grid, test yürütme sürelerini mümkün olduğunca en aza indirme ihtiyacını karşılamak için Patrick Lightbody tarafından geliştirilmiştir . Başlangıçta sistemi " Hosted QA " olarak adlandırdı . Önemli aşamalarda tarayıcı ekran görüntülerini yakalayabiliyordu ve aynı anda farklı makinelere Selenium komutları gönderebiliyordu.
Selenium IDE'nin Doğuşu
Japonya'dan Shinya Kasatani , tarayıcıyı bir kayıt ve oynatma özelliği aracılığıyla otomatikleştirebilen bir Firefox uzantısı olan Selenium IDE'yi yarattı . Test senaryoları oluştururken hızı daha da artırmak için bu fikirle geldi. Selenium IDE'yi 2006 yılında Selenium Projesi'ne bağışladı .
WebDriver'ın Doğuşu
Simon Stewart WebDriver'ı , tarayıcıların ve web uygulamalarının Selenium Core gibi JavaScript programlarıyla daha güçlü ve daha kısıtlayıcı hale geldiği 2006 dolaylarında oluşturdu . Tarayıcıyı işletim sistemi seviyesinden kontrol edebilen ilk çapraz platform test çerçevesiydi.
Selenium 2'nin Doğuşu
In 2008 , tüm Selenyum Takım denilen daha güçlü bir araç olarak kullanmak üzere WebDriver ve Selenyum RC birleştirmeye karar Selenyum 2 ile WebDriver çekirdek olmak . Şu anda, Selenium RC hala geliştiriliyor, ancak yalnızca bakım modunda. Selenium Projesi'nin çabalarının çoğu artık Selenium 2'ye odaklanıyor.
Peki Selenium Adı Neden?
Selenium Adı , Jason'ın ekibine bir kez anlattığı bir şakadan geldi. Selenium'un geliştirilmesi sırasında, başka bir otomatik test çerçevesi, Mercury Interactive adlı şirket tarafından popüler hale getirildi (evet, QTP'yi HP tarafından satın alınmadan önce ilk olarak yapan şirket). Selenyum, Merkür zehirlenmesinin iyi bilinen bir panzehiri olduğundan, Jason bu ismi ve takım arkadaşlarının aldığını öne sürdü. Bu çerçeveyi şimdiye kadar böyle adlandırmalıyız.
Kısa Tanıtım Selenium IDE
Selenium Entegre Geliştirme Ortamı (IDE), Selenium paketindeki en basit çerçevedir ve öğrenmesi en kolay olanıdır . Diğer eklentilerle olabildiğince kolay kurabileceğiniz bir Firefox eklentisidir . Ancak, sadeliği nedeniyle, Selenium IDE yalnızca bir prototip oluşturma aracı olarak kullanılmalıdır . Daha gelişmiş test senaryoları oluşturmak istiyorsanız, Selenium RC veya WebDriver kullanmanız gerekecektir.
Kısa Tanıtım Selenium Remote Control (Selenium RC)
Selenium RC, uzun süredir tüm Selenium projesinin amiral gemisi test çerçevesiydi . Bu, kullanıcıların tercih ettikleri bir programlama dilini kullanmalarına izin veren ilk otomatik web test aracıdır . 2.25.0 sürümünden itibaren, RC aşağıdaki programlama dillerini destekleyebilir:
- Java
- C #
- PHP
- Python
- Perl
- Yakut
Kısa Tanıtım WebDriver
WebDriver birçok yönden hem Selenium IDE hem de Selenium RC'den daha iyi olduğunu kanıtlıyor . Tarayıcının eylemlerini otomatikleştirmede daha modern ve istikrarlı bir yaklaşım uygular. WebDriver, Selenium RC'nin aksine, Selenium Otomasyon Testi için JavaScript'e güvenmez. Doğrudan onunla iletişim kurarak tarayıcıyı kontrol eder.
Desteklenen diller Selenium RC'dekilerle aynıdır.
- Java
- C #
- PHP
- Python
- Perl
- Yakut
Selenyum Izgara
Selenium Grid, Selenium RC ile birlikte aynı anda farklı makinelerde ve farklı tarayıcılarda paralel testler yürütmek için kullanılan bir araçtır . Paralel yürütme, aynı anda birden fazla test çalıştırmak anlamına gelir.
Özellikleri:
- Etkinleştirir testlerin eşzamanlı çalışmasını içinde birden fazla tarayıcı ve ortamlar.
- Zaman kazandırır .
- Kullanır hub ve düğümleri kavramı. Hub, kendisine bağlı her düğüm için merkezi bir Selenium komut kaynağı görevi görür.
Tarayıcı ve Ortam Desteği ile İlgili Not
Mimari farklılıkları nedeniyle Selenium IDE, Selenium RC ve WebDriver farklı tarayıcı setlerini ve işletim ortamlarını destekler.
Selenyum IDE | WebDriver | |
---|---|---|
Tarayıcı Desteği | Mozilla Firefox | Internet Explorer 6 ila 11 sürümleri, hem 32 hem de 64 bit Microsoft Edge sürüm 12.10240 ve üzeri (geliştirilmekte olan bazı işlevleri kısmen destekler) Firefox 3.0 ve üzeri Google Chrome 12.0. ve üzeri Opera 11.5 ve üzeri Android - Telefonlar ve tabletler için 2.3 ve üzeri (cihazlar ve emülatörler) Telefonlar (cihazlar ve emülatörler) için iOS 3+ ve tabletler (cihazlar ve emülatörler) için 3.2+ HtmlUnit 2.9 ve üzeri |
İşletim sistemi | Windows, Mac OS X, Linux | Yukarıdaki tarayıcıların çalışabileceği tüm işletim sistemleri. |
Not: Selenium WebDriver, kullanımdan kaldırılan ve resmi olarak SeleniumHQ tarafından duyurulan Selenium RC'nin halefi olarak adlandırılır.
İhtiyacınız için Doğru Selenyum Aleti Nasıl Seçilir
Araç | Neden seçtin? |
---|---|
Selenyum IDE |
|
Selenyum RC |
|
WebDriver |
|
Selenyum Izgara |
|
Selenium ve QTP (şimdi UFT) arasında bir karşılaştırma
Quick Test Professional (QTP) , 2006 yılında Hewlett-Packard tarafından satın alınmadan önce önceden Mercury Interactive şirketine ait olan tescilli bir otomatik test aracıdır . Selenium Tool Suite, aşağıda ayrıntıları verildiği gibi QTP'ye göre birçok avantaja sahiptir -
Selenyumun QTP'ye Göre Avantajları ve Faydaları
Selenyum | QTP |
---|---|
Açık kaynak , kullanımı ücretsiz ve ücretsiz. | Ticari . |
Son derece genişletilebilir | Sınırlı eklentiler |
Farklı tarayıcılarda testler çalıştırabilir | Testleri yalnızca Firefox , Internet Explorer ve Chrome'da çalıştırabilir |
Çeşitli işletim sistemlerini destekler | Yalnızca Windows'ta kullanılabilir |
Mobil cihazları destekler | QTP, HP Mobile Center adlı HP çözümünü kullanarak Mobil uygulama test otomasyonunu (iOS ve Android) destekler |
Testinin yapılmasını ederken tarayıcı minimize edilir | Masaüstünde görünmesi için test edilen uygulamanın olması gerekir |
Testleri paralel olarak yürütebilir . | Yalnızca paralel olarak yürütülebilir ancak yine ücretli bir ürün olan Quality Center'ı kullanır. |
QTP'nin Selenyum'a göre avantajları
QTP | Selenyum |
---|---|
Hem web hem de masaüstü uygulamalarını test edebilir | Yalnızca web uygulamalarını test edebilir |
Yerleşik bir nesne deposu ile birlikte gelir | Yerleşik nesne deposu yok |
Tam özellikli bir IDE olduğu için Selenium'dan daha hızlı otomatikleşir . | Yerel bir IDE'ye sahip olmadığı ve geliştirme için yalnızca üçüncü taraf IDE kullanılabileceği için daha düşük bir hızda otomatikleştirir |
Yerleşik genel ve yerel veri tablolarına sahip olduğu için veriye dayalı testin gerçekleştirilmesi daha kolaydır . | Test verileriniz için değerleri ayarlamak için programlama dilinin yeteneklerine güvenmeniz gerektiğinden, veriye dayalı test daha zahmetlidir. |
Tarayıcı içindeki kontrollere erişebilir (Sık Kullanılanlar çubuğu, Adres çubuğu, Geri ve İleri düğmeleri vb.) | Test edilen web uygulamasının dışındaki öğelere erişilemez |
Profesyonel müşteri desteği sağlar | Resmi kullanıcı desteği sunulmamaktadır. |
Test verilerini harici formatlara dışa aktarmak için yerel özelliğe sahiptir | Çalışma zamanı verilerini harici formatlara dışa aktarmak için yerel bir yeteneği yoktur |
Parametrelendirme Desteği oluşturulmuştur | Parametrelendirme programlama yoluyla yapılabilir ancak uygulanması zordur. |
Test Raporları otomatik olarak oluşturulur | Test / hata raporları oluşturmak için yerel destek yok. |
Açıkça, QTP daha gelişmiş yeteneklere sahip olsa da, Selenium üç ana alanda QTP'den daha ağır basmaktadır:
- Maliyet (Selenium tamamen ücretsiz olduğu için)
- Esneklik (destekleyebileceği bir dizi programlama dili, tarayıcı ve platform nedeniyle)
- Paralel test (QTP'nin yapabildiği ancak yalnızca Kalite Merkezi'nin kullanımıyla)
Özet
- Tüm Selenium Software Testing Suite dört bileşenden oluşur:
- Selenium IDE, yalnızca nispeten basit test senaryoları ve test paketleri oluştururken kullanabileceğiniz bir Firefox eklentisi.
- Selenium Uzaktan Kumanda, kullanıcıların karmaşık testler oluştururken programlama dillerini kullanmalarına izin veren ilk Selenium aracı olan Selenium 1 olarak da bilinir.
- WebDriver, test komut dosyalarınızın doğrudan tarayıcıyla iletişim kurmasını ve böylece onu işletim sistemi seviyesinden kontrol etmesini sağlayan daha yeni bir buluş.
- Selenium Grid, Selenium RC ile farklı tarayıcılar ve işletim sistemleri arasında paralel testler gerçekleştirmek için kullanılan bir araçtır.
- Selenium RC ve WebDriver, Selenium 2'yi oluşturmak için birleştirildi.
- Selenyum, maliyet ve esneklik açısından QTP'den daha avantajlıdır. Ayrıca, testleri yalnızca sıralı olarak çalıştırmanıza izin verilen QTP'den farklı olarak testleri paralel olarak çalıştırmanıza da olanak tanır.