Nedir? Selenium? Giriş Selenium Otomasyon Testi

Nedir? Selenium?

Selenium farklı tarayıcılarda ve platformlarda web uygulamalarını doğrulamak için kullanılan ücretsiz (açık kaynaklı) otomatik bir test çerçevesidir. Gibi birden fazla programlama dilini kullanabilirsiniz. Java, C#, Pythonvb. oluşturmak için Selenium Komut Dosyalarını Test Edin. kullanılarak yapılan testler Selenium test aracına genellikle şu ad verilir: Selenium Test yapmak.

Selenium Araç Takımı

Selenium Yazılım yalnızca tek bir araç değil, her bir parçası farklı ihtiyaçlara hitap eden bir yazılım paketidir. Selenium Bir kuruluşun QA test ihtiyaçları. İşte araçların listesi

  • Selenium Entegre Geliştirme Ortamı (IDE)
  • Selenium Uzaktan Kumanda (RC)
  • Web Sürücüsü
  • Selenium Grid

Selenium Araç Takımı

Şu anda, Selenium RC ve WebDriver tek bir çerçevede birleştirilir ve Selenium 2. Selenium Bu arada 1, şunu ifade ediyor Selenium RC.

Video öğretici Selenium

Tıkla okuyun videoya erişilemiyorsa

kim geliştirdi Selenium?

Dan beri Selenium farklı araçlardan oluşan bir koleksiyondur ve aynı zamanda farklı geliştiricilere de sahiptir. Aşağıda, kayda değer katkılarda bulunan kilit kişiler yer almaktadır. Selenium Proje

Gelişmiş Selenium

Öncelikle, Selenium oldu Jason Huggins tarafından 2004'te yaratıldı. ThinkWorks'te mühendis olarak sık sık test edilmesi gereken bir web uygulaması üzerinde çalışıyordu. Uygulamalarının tekrarlanan Manuel Testlerinin giderek verimsiz hale geldiğini fark ederek, JavaSenaryo tarayıcının eylemlerini otomatik olarak kontrol edecek program. Bu programa “JavaKomut DosyasıTestÇalıştırıcısı".

Bu fikirdeki diğer web uygulamalarının otomatikleştirilmesine yardımcı olma potansiyelini görerek şunları yaptı: JavaDaha sonra adı değiştirilen ScriptRunner açık kaynaklıdır Selenium çekirdek. Web uygulaması testi için diğer seçenekleri keşfetmek isteyenler için bunlara bir göz atın Selenium alternatifleri.

Aynı Menşe Politikası Sorunu

Aynı Menşe politikası yasaklıyor JavaBaşlatıldığı yerden farklı bir etki alanındaki öğelere erişen komut dosyası kodu. Örnek olarak, www.google.com'daki HTML kodu bir JavaKomut dosyası programı “randomScript.js”. Aynı kaynak politikası randomScript.js'nin yalnızca google.com/mail, google.com/login veya google.com/signup gibi google.com içindeki sayfalara erişmesine izin verecektir. Ancak, farklı etki alanlarına ait oldukları için yahoo.com/search veya guru99.com gibi farklı sitelerdeki sayfalara erişemez.

Aynı Menşe Politikası Sorunu

Bunun nedeni daha önce Selenium RC, test uzmanlarının her ikisinin de yerel kopyalarını yüklemesi gerekiyordu Selenium Çekirdek (bir JavaKomut dosyası programı) ve test edilen web uygulamasını içeren web sunucusu, aynı etki alanına ait olacak şekilde

Doğum Selenium Uzaktan kumanda (Selenium RC)

Paul Hammant

Maalesef; kullanan testçiler Selenium Core, test edilen uygulamanın tamamını ve web sunucusunu, uygulamanın getirdiği kısıtlamalar nedeniyle kendi yerel bilgisayarlarına kurmak zorunda kaldı. aynı menşe politikası. Başka bir ThinkWork mühendisi, Paul Hammant, tarayıcıyı buna inandıracak şekilde "kandırmak" için HTTP proxy görevi görecek bir sunucu oluşturmaya karar verdi. Selenium Çekirdek ve test edilen web uygulaması aynı etki alanından geliyor. Bu sistem olarak bilinmeye başlandı. Selenium Uzaktan Yönetim or Selenium 1.

Doğum Selenium Grid

Patrick Işık Bedeni

Selenium Grid tarafından geliştirildi Patrick Işık Bedeni Test yürütme sürelerini mümkün olduğunca en aza indirme ihtiyacını karşılamak için. Başlangıçta sistemi “Barındırılan QA.” Önemli aşamalarda tarayıcı ekran görüntülerini yakalayabiliyordu ve ayrıca göndermek Selenium farklı makinelere aynı anda komut gönderebilme.

Doğum Selenium IDE

Shinya Kasatani

Shinya Kasatani Japonya'nın yarattığı Selenium IDE, Firefox ve tarayıcıyı kaydetme ve oynatma özelliği aracılığıyla otomatikleştirebilen Chrome uzantısı. Test senaryoları oluşturma hızını daha da artırmak için bu fikri ortaya attı. Bağış yaptı Selenium IDE'ye Selenium Proje 2006.

WebDriver'ın Doğuşu

Simon Stewart

Simon Stewart yaklaşık olarak WebDriver'ı oluşturdu 2006 tarayıcılar ve web uygulamaları daha güçlü ve daha kısıtlayıcı hale geldiğinde JavaKomut dosyaları gibi programlar Selenium Çekirdek. Tarayıcıyı işletim sistemi seviyesinden kontrol edebilen ilk platformlar arası test çerçevesiydi.

Doğum Selenium 2

In 2008, Bütün Selenium Ekip WebDriver'ı birleştirmeye karar verdi ve Selenium RC adında daha güçlü bir araç oluşturmak için Selenium 2Ile WebDriver çekirdektir. Şu anda, Selenium RC hala geliştirilmektedir ancak yalnızca bakım modundadır. Çoğu Selenium Projenin çabaları artık şuna odaklanıyor: Selenium 2.

Peki Neden İsim Selenium?

İsim Selenium Jason'ın bir kez ekibine yaptığı bir şakadan geldi. Sırasında Seleniumgelişimi, başka bir otomatik test adlı şirket tarafından yapılan çerçeve popülerdi Mercury interaktif (evet, HP tarafından satın alınmadan önce QTP'yi yapan şirket). O zamandan beri Selenium için iyi bilinen bir panzehirdir. Mercury Zehirlenmenin ardından Jason ve takım arkadaşlarının bu ismi aldığını öne sürdü. Bu çerçeveyi bugüne kadar bu şekilde adlandırmamız gerekiyordu.

Neden İsim Selenium

Nedir? Selenium IDE?

Selenium Entegre Geliştirme Ortamı (IDE), en basit çerçeve içinde Selenium süit ve öğrenmesi en kolay olanı. It is a Chrome ve Firefox fişe takmak diğer eklentilerle mümkün olduğu kadar kolay bir şekilde kurabilirsiniz. Ancak basitliği nedeniyle Selenium IDE yalnızca bir prototip oluşturma aracı. Daha gelişmiş test senaryoları oluşturmak istiyorsanız aşağıdakilerden birini kullanmanız gerekir: Selenium RC veya Web Sürücüsü.

Selenium IDE

Nedir? Selenium Uzaktan kumanda (Selenium RC)?

Selenium RC şuydu amiral gemisi test çerçevesi bütün Selenium uzun süredir proje. Bu ilk otomatik web testi araç kullanıcıların tercih ettikleri bir programlama dilini kullanmalarına olanak tanır2.25.0 sürümünden itibaren RC aşağıdaki programlama dillerini destekleyebilir:

Selenium Uzaktan kumanda (Selenium RC)

Web Sürücüsü nedir?

WebDriver'ın daha iyi olduğunu kanıtlıyor Selenium IDE ve Selenium RC birçok açıdan. Tarayıcının eylemlerini otomatikleştirmede daha modern ve istikrarlı bir yaklaşım uygular. WebDriver'ın aksine Selenium RC'ye güvenilmez JavaKomut dosyası Selenium Otomasyon Testi. Doğrudan iletişim kurarak tarayıcıyı kontrol eder.

Desteklenen diller şuradakilerle aynıdır: Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Yakut

Web sürücüsü

Nedir? Selenium Kafes?

Selenium Izgara bir araçtır ile birlikte kullanılır Selenium Çalıştırılacak RC paralel testler farklı makinelerde ve farklı tarayıcılarda aynı anda. Paralel yürütme, aynı anda birden fazla testin çalıştırılması anlamına gelir.

Özellikler:

  • sağlayan testlerin eş zamanlı çalıştırılması in birden fazla tarayıcı ve ortam.
  • Zamandan tasarruf muazzam.
  • kullanır hub ve düğümler kavram. Hub, merkezi bir veri kaynağı görevi görür. Selenium kendisine bağlı her düğüme komutlar verir.

Selenium Tarayıcı ve Ortam Desteği

Mimari farklılıkları nedeniyle, Selenium SDI, Selenium RC ve WebDriver farklı tarayıcı gruplarını ve işletim ortamlarını destekler.

  Selenium IDE Web Sürücüsü
tarayıcı Desteği mozilla Firefox ve Chrome

Google Chrome 12+

Firefox

Internet Explorer 7+ ve Edge

Safari, 

HtmlUnit ve PhantomUnit

OperaZamanlama Sistemi Windows, Mac OS X, Linux Yukarıdaki tarayıcıların çalışabildiği tüm işletim sistemleri.

Not: Opera Sürücü artık çalışmıyor

Doğru Nasıl Seçilir Selenium İhtiyacınıza Uygun Araç

araç Neden seçtin?
Selenium IDE
  • Otomatik test kavramları hakkında bilgi edinmek ve SeleniumDahil olmak üzere:
  • Type, open, clickAndWait, iddia, doğrulama vb. gibi Selenese komutları.
  • Kimlik, ad, xpath, css seçici vb. gibi konum belirleyiciler.
  • Özelleştirilmiş yürütme JavarunScript kullanarak betik kodu
  • Test senaryolarını çeşitli formatlarda dışa aktarma.
  • Programlama konusunda çok az ön bilgiye sahip veya hiç bilgi sahibi olmayan testler oluşturmak.
  • Daha sonra RC veya WebDriver'a aktarabileceğiniz basit test durumları ve test takımları oluşturmak.
  • Bir web uygulamasını test etmek için Firefox ve yalnızca Chrome.
Selenium RC
  • Selenese'den daha anlamlı bir dil kullanarak bir test tasarlamak
  • Testinizi farklı işletim sistemlerindeki farklı tarayıcılarda (HtmlUnit hariç) çalıştırmak için.
  • Testlerinizi birden fazla ortama dağıtmak için Selenium Kafes.
  • Uygulamanızı destekleyen yeni bir tarayıcıda test etmek için JavaSenaryo.
  • Karmaşık AJAX tabanlı senaryolarla web uygulamalarını test etmek.
Web Sürücüsü
  • Test senaryonuzu tasarlarken belirli bir programlama dilini 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.
Selenium Grid
  • Çalıştırmak için Selenium RC scriptleri birden fazla tarayıcıda ve işletim sisteminde aynı anda çalışır.
  • Büyük bir test paketini çalıştırmak için bunun mümkün olan en kısa sürede tamamlanması gerekiyor.

Arasında Bir Karşılaştırma Selenium ve QTP (şimdi UFT)

Hızlı Test Uzmanı(QTP) daha önce şirkete ait olan tescilli bir otomatik test aracıdır Mercury interaktif Hewlett-Packard onu satın almadan önce 2006 yılında. Daha sonraki sahibi MicroFocus'tur ve araç UFT one olarak yeniden adlandırılmıştır. Selenium Tool Suite'in diğerlerine göre birçok avantajı vardır:  QTP aşağıda detaylandırıldığı gibi -

Avantajları ve Faydaları Selenium QTP üzerinden

Selenium QTP
Açık kaynak, kullanmakta özgürsün, ve ücretsiz. Ticari.
Son derece genişletilebilir Sınırlı eklentiler
Testleri çalıştırabilir farklı tarayıcılar Yalnızca testleri çalıştırabilir Firefox, Internet Explorer ve krom
Destekler çeşitli işletim sistemleri Yalnızca kullanılabilir Windows
Destekler mobil cihazlar QTP Mobil uygulama testi otomasyonunu destekler (iOS ve Android) HP Mobil Merkezi adlı HP çözümünü kullanarak
Testleri yürütebilir süre the tarayıcı küçültüldü Uygulamanın masaüstünde görülebilmesi için test edilmesi gerekiyor
Testleri yürütebilir paralel olarak. Yalnızca paralel olarak yürütülebilir ancak yine ücretli bir ürün olan Kalite Merkezi kullanılarak yürütülebilir.

QTP'nin avantajları Selenium

QTP Selenium
test edebilir hem web hem de masaüstü uygulamaları Yalnızca web uygulamalarını test edebilir
İle geliyor yerleşik nesne deposu Yerleşik nesne deposu yok
Şundan daha hızlı otomatikleştirir: Selenium çünkü tam özellikli bir IDE'dir. Yerel bir IDE'ye sahip olmadığından ve geliştirme için yalnızca üçüncü taraf IDE kullanılabildiğinden daha yavaş bir hızda otomatikleşir.
Veriye dayalı testlerin gerçekleştirilmesi daha kolaydır çünkü yerleşik küresel ve yerel veri tablolarına sahiptir. Veriye dayalı test, test verileriniz için değerleri ayarlamak için programlama dilinin yeteneklerine güvenmeniz gerektiğinden daha hantaldır.
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şilemiyor
Profesyonel sağlar müşteri desteği Hiçbir resmi kullanıcı desteği sunulmuyor.
Yerel yeteneği var test verilerini dışa aktar harici formatlara Çalışma zamanı verilerini harici formatlara aktarma konusunda yerel bir yeteneği yoktur
Parametreleştirme Desteği oluşturuldu Parametreleştirme 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 görülse de, QTP daha gelişmiş yeteneklere sahiptir, Selenium Üç ana alanda QTP'den daha ağır basıyor:

  • Ücret(Çünkü Selenium tamamen ücretsizdir)
  • Esneklik(destekleyebildiği birçok programlama dili, tarayıcı ve platform nedeniyle)
  • Paralel test(QTP'nin yapabileceği bir şey, ancak yalnızca Kalite Merkezi kullanımıyla)

ÖZET

  • Tüm Selenium Yazılım Test Paketi dört bileşenden oluşur:
  • Selenium Fikir Firefox ve yalnızca nispeten basit test senaryoları ve test paketleri oluşturmak için kullanabileceğiniz Chrome eklentisi.
  • Selenium Uzaktan Kumanda olarak da bilinir Selenium 1, ilk Selenium Kullanıcıların karmaşık testler oluşturmada programlama dillerini kullanmalarına olanak sağlayan araç.
  • WebDriver, test komut dosyalarınızın doğrudan tarayıcıyla iletişim kurmasına ve böylece işletim sistemi düzeyinden kontrol edilmesine olanak tanıyan daha yeni bir atılımdır.
  • Selenium Grid aynı zamanda aşağıdakilerle kullanılan bir araçtır: Selenium Farklı tarayıcılarda ve işletim sistemlerinde paralel testler yürütmek için RC.
  • Selenium RC ve WebDriver birleştirildi Selenium 2.
  • Selenium Maliyet ve esneklik açısından Microfocus UFT One'a göre daha avantajlıdır.