Herkese merhaba. Selenium benim için araştırırken öğrendiğim bir konu oldu. Bu blog yazısında Selenium nedir? Neler yapar? Hangi amaçlar için kullanılır? Gibi sorulara cevap bulmaya çalıştım. Sizde cevapları merak ediyorsanız, yazıyı okumaya devam edin?.
Hadi Başlayalım…
Selenium Nedir?
Farklı tarayıcılarda yada ortamda web uygulamalarını test etmek için kullanılan test çerçevesidir(framework). Başka bir deyişle, web uygulamalarının kalite güvencesi için kullanılan yazılım test otomasyon araçlar paketidir. Ayrıca açık kaynaklı yazılım olduğu için ücretsizdir. Test Komut Dosyaları için C#, Pyhton, Java gibi birden fazla programlama dili kullanılır. Günümüzde ise Google, Netflix, HubSpot gibi büyük ve gelişmiş şirketlerde üretim için kullanılmaktadır. Bu paket test kaynaklı sorunları ve ihtiyaçları için farklı çözümler sunar. Selenium Testi, Selenium test araçlarını kullanılarak yapılan testlerin genel ismidir.
Birazda bu tasarım nasıl ortaya çıktı, tarihçesi nedir bunlardan bahsedelim.
Tarihçe
2004 yılında Jason Huggins tarafından ilk versiyonu ortaya çıkmıştır. Huggins web uygulamalarını test etmek için çok fazla zaman ve enerji harcıyordu ve bundan çok sıkılmış ve yorulmuştu. Çözüm olarak ise manuel testlerde kendini tekrarlamayan bir JavaScript çerçevesini (kütüphanesi) buldu. İlk olarak JavaScriptTestRunner olarak bilinen bu tasarım, testleri direk olarak bir tarayıcıda çalıştırmaktadır. Bunun sayesinde birden fazla tarayıcı da testlerin otomatik olarak çalışmasına izin vermektedir. Böylece daha önce kullanılan test araçlarının hiçbirinde olmayan bir özellik ortaya çıktı. Özet olarak, kullanıcıları kendi belirledikleri herhangi bir programlama dilini kullanarak bir tarayıcıyı kontrol altına almasını sağlayan ilk araç oldu.
Ancak zamanla olumsuz yönleri ortaya çıktı. JavaScript tabanlı olduğu için bazı şeyleri yapmakta yetersiz kaldı. Web uygulamaları belirli bir zaman sonra karmaşık bir hal almaya başladı ve bundan kaynaklanan kısıtlamaların sayısı arttı.
Birkaç yıl sonra, Google’ da çalışan ve test aracını kullanan Simon Stewart isimli bir mühendis, bu kısıtlamalardan bıktı. Stewart, tarayıcıyla direk olarak konuşabilecek bir araç seti istiyordu. İstediği de oldu WebDriver ortaya çıktı.
Selenium ile WebDriver’ın birleşmesi birkaç yılı buldu. Bununla birlikte WebDriver’e ek olarak, Selenium IDE, Grid ve Uzaktan Kumanda (RC) ortaya çıktı. Böylece bu dörtlü Selenium projesi için harika bir takıma dönüştü.
Selenium’un Araç Takımı
Araç takımını sizleri fazla sıkmadan kısa bilgiler vererek açıklamak istiyorum. Detaylı bilgi edinmek istiyorsanız Selenium’un kendi web sitesini ziyaret edebilirsiniz. Selenium, test sorunlarını çözen bir yazılım paketi haline gelmiştir. Bu yazılım paketinde şu araçlar bulunmaktadır:
-
- Selenium Entegre Geliştirme Ortamı (IDE)
- Selenium Uzaktan Kumanda (RC)
- Selenyum Web Driver (Sürücüsü)
- Selenium Grid (Izgara)
Entegre Geliştirme Ortamı (IDE)
Japonyalı Shinya Kasatani , tarayıcıyı kayıt ve oynatma özellikleriyle otomatikleştirebilen Firebox uzantısı olarak ortaya çıkarttı. IDE, test ortamlarını oluşturmanızı ve düzenlemeler yapmanızı sağlayan ‘kayıt ve oynatma aracıdır’. Selenium testleri için kusursuz bir ortam sağlar. Tarayıcıda ortaya çıkan etkileşimlerden senaryoları oluşturur ve bu etkileşimlerinizi adımlara dönüştürür. Bu adımlar sonradan Java, Python vb. gibi farklı programlama dilleriyle dışa aktarılır ve yürütülür. Sonuç olarak, sayfalardan veri almak için test komutları sağlar.
Uzaktan Kumanda (RC)
Remote Control (RC) , Java dilinde yazılmıştır. Mesele şu ki, Selenium Core kullanıcıları, Origin politikasının getirdiği kısıtlamalar yüzünden test edilen uygulamayı ve web sunucusunu kendi bilgisayarlarına kurmak mecburiyetinde kaldılar. Bu nedenlerden dolayı, ThoughtWork mühendisi olan Paul Hammant, tarayıcıyı Selenium Core ve test edilen uygulamanın etki alanı aynı olduğunu inandırmak için HTTP üzerinde görevi olan bir sunucu oluşturdu. Bu tasarım Selenium Uzaktan kumanda ya da Selenium 1‘dir. Fakat Selenyum 2’nin piyasaya çıkmasıyla RC kullanımdan kaldırıldı.
Web Driver (Sürücüsü)
WebDriver 2006 yılında İmon Stewart tarafından ortaya çıkmıştır. Web uygulamalarının Selenium Core da kısıtlamaları sırasında bulunmuştur. Web Driver, test senaryolarını oluşturmak ve yürütmek için ortaya çıkan programlama arabirimidir. Oluşturulan komut dosyası direk tarayıcıyla etkileşime girmektedir. Böylece Selenium Uzaktan Kumandaya göre daha hızlıdır. Kısacası Web Driver, tarayıcıyı işletim seviyesinde kontrol edebilen test framework’ üdür.
Grid
Grid, Patrick Lightbody tarafından ortaya çıkmıştır. Test süresini mümkün olduğunca en aza indirgemeyi amaçlamıştır ve önemli yerlerde tarayıcıdaki ekran görüntülerini yakalamaya ve aynı zamanda farklı cihazlara komut dosyasını göndermeyi sağlar.
Bu haftaki blog yazımın sonuna gelmiş bulunmaktayız. Umarım sizin için bilgilendirici bir içerik olmuştur. Sorularınız varsa yorumlar kısmına yazabilirsiniz. Bir sonraki yazımda görüşmek üzere. İyi günler dilerim?.
? Daha fazla içerik için Siber eğitmen YouTube kanalına abone olup bildirimleri açarak yeni içeriklerden anında haberdar olabilirsiniz.
Diğer yazılarıma ‘ Bükiye BARAK ‘ ismime tıklayarak ulaşabilirsiniz. Şimdiden keyifli okumalar✨.