Selenyum nedir? Selenyum Otomasyon Testine Giriş

İçindekiler:

Anonim

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
Selenyum'a Giriş

Ş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

  • Otomatik test ve Selenium ile ilgili kavramlar hakkında bilgi edinmek için:
  • Type, open, clickAndWait, assert, confirm, vb. Selenese komutlar.
  • İd, name, xpath, css seçici vb. Gibi konumlandırıcılar.
  • RunScript kullanarak özelleştirilmiş JavaScript kodu yürütme
  • Test senaryolarını çeşitli formatlarda dışa aktarma.
  • Programlama konusunda çok az veya hiç ön bilgisi olmayan testler oluşturmak.
  • Daha sonra RC veya WebDriver'a aktarabileceğiniz basit test senaryoları ve test paketleri oluşturmak için.
  • Bir web uygulamasını yalnızca Firefox ve Chrome ile test etmek için.

Selenyum RC

  • Selenese'den daha etkileyici bir dil kullanarak bir test tasarlamak için
  • Testinizi farklı işletim sistemlerinde farklı tarayıcılarda (HtmlUnit dışında) çalıştırmak için.
  • Selenium Grid kullanarak testlerinizi birden çok ortamda dağıtmak için.
  • Uygulamanızı JavaScript'i destekleyen yeni bir tarayıcıyla test etmek için.
  • Web uygulamalarını karmaşık AJAX tabanlı senaryolarla test etmek için.

WebDriver

  • Test durumunuzu tasarlarken belirli bir programlama dili kullanmak.
  • AJAX tabanlı işlevler açısından zengin uygulamaları test etmek.
  • HtmlUnit tarayıcısında testler yürütmek için.
  • Özelleştirilmiş test sonuçları oluşturmak için.

Selenyum Izgara

  • Selenium RC komut dosyalarınızı aynı anda birden fazla tarayıcı ve işletim sisteminde çalıştırmak için.
  • Mümkün olan en kısa sürede tamamlanması gereken büyük bir test paketi çalıştırmak için.

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'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.