SlideShare a Scribd company logo
Yıldız Teknik Üniversitesi
Ömer Faruk İNCE
14501008
Yazılım Kalitesi ve Test Teknikleri
24/12/2015
Selenium Nedir?
 Selenium web tabanlı uygulamaların testlerini browser/tarayıcı
üzerinden yapmamızı sağlayan ve tüm web testlerinin yapılabileceği
bir test aracıdır.
 Selenium’un desteklediği programlama dillerinden bazıları:
 Java
 C#
 Perl
 Groovy
 PHP
 Python
 Ruby
 .Net
 Açık kaynaklı (open source) bir yazılımdır.
 http://www.openqa.org/
Selenium Nedir ?
 Selenium’un çalışabildiği işletim sistemi türleri:
 Windows
 Linux
 Mac OS işletim sistemlerinde çalışabilmektedir.
Selenium Bileşenleri
 Selenium’u üç ana başlıkta inceleyeceğiz.
 Selenium IDE
 Selenium WebDriver
 Selenium-Grid
1) Selenium IDE
 Selenium IDE, geliştirdiğimiz web tabanlı uygulamaların test
edilmesini sağlayan ve bunları daha sonrasında otomatize ederek
browser üzerinde aynı caseleri tekrar tekrar girmeden kontrol
etmemizi sağlayan araçtır.
 Selenium IDE’nin başlıca özellikleri;
1. Normal bir kullanıcı gibi davranıp işlemler kullanıcıymış gibi
yapılabilir ve kaydedilebilir.
2. Fonksiyonel testler yazmak için kullanılmaktadır.
3. Bir çok dil desteği mevcut (Java, .NET, Python, Ruby, PHP,Perl).
1) Selenium IDE
 Selenium IDE’nin başlıca özellikleri;
1. Normal bir kullanıcı gibi davranıp işlemler kullanıcıymış gibi
yapılabilir ve kaydedilebilir.
2. Fonksiyonel testler yazmak için kullanılmaktadır.
3. Firefox plug-in’i olarak çalışmaktadır.
4. Bir çok dil desteği mevcut (Java, .NET, Python, Ruby, PHP,Perl).
5. Selenium’un open source olması sayesinde bir çok platformda
(Windows, Linux, IOS) herhangi bir sorun yaşamadan
çalışmaktadır.
6. Bir çok dil desteği ve platform desteği sayesinde diğer test
araçlarına göre daha çok tercih edilmektedir. (UFT, QTP)
Selenium IDE’yi Yakından Tanıyalım
Selenium IDE’yi Yakından Tanıyalım
Selenium IDE Özellikleri:
 Menüler: Menü kısmında yeni test
oluşturmak, yapılan testleri
kaydetmek ve istediğiniz testi,
istediğimiz dilde export ederek
kullanabiliriz. Bu özelliklerin hepsini
yapacağınız testlerde kullanabilirsiniz.
 Table: Adım adım yapılan işlemlerin
tutulduğu bölümdür.
 Source: Table’da bulunan değerlerin
HTML kodudur.
 Play: Kaydedilen adımların otomatize
edilip tekrardan aynı test caselerini
girmeden çalıştırıldığı bölümdür.
 Test Case: Yapılan testlerin
isimlendirerek saklandığı bölümdür.
 Command: Çalıştırılan uygulamanın
test caselerine uygun alanların
doldurularak işleme devam edildiği
yerdir.
Selenium IDE Özellikleri:
En çok kullanılan komutlar aşağıdaki gibidir.
 open: URL’i ( Siteyi/adresi ) açmak içindir.
 click: Bir nesneye tıklamak içindir.
 clickandWait: Nesneye tıkladıktan sonra sayfanın yüklenmesini bekler.
 assertElementPresent: Belirtilen elemanın yüklenmesini bekler.
 assertTextPresent: Belirtilen bir text’in(yazının) sayfada olup olmadığını kontrol
eder.
 deleteCookie: Belirtilen Cookie’nin silinmesi sağlar.
 mouseOver: Mouse’u belirtilen elementin üzerine götürür.
 verifyTextPresent: Belirtilen nesnenin belirmesini bekler ve sağlamasını yapar.
 waitForPageToLoad: Sayfanın yüklenmesini bekler.
 captureEntirePageScreenshot: Üzerinde test yaptığımız sayfanın ekran görüntüsünü
çerçevesiz olarak kaydeder.
 waitForElementPresent: Sayfadaki bir elementin yüklenmesini bekler, bunu
genellikle JavaScript tarafından kontrol edilen elementler için kullanırız.
 type: Bir input’un içine yazmak için kullanılır.
Selenium IDE Özellikleri:
 Log: Adım adım yapılan testlerin loglarının bulunduğu kısımdır. Play ile çalıştırılarak
yapılan testler hakkında hata mesajlarının görüntülendiği kısımdır. Bu sayede
yaptığınız testleri bir nevi debug etmiş olursunuz.
 Reference: Command kısmında kullanılan kodların dökümante edildiği kısımdır. Bu
sayede yaptığınız testleri dökümante ederken size kolay sağlayarak işlemlerinizi hızlı
bir şekilde yapabilirsiniz.
 Base URL: Testlerin hangi sayfada yapılacağını
gösteren kısımdır.
 Target: Ekranda test edilmek istenen alanın
belirtildiği kısımdır.
 Value: Yapılan istenen test için değerin girildiği
alandır.
 Runs & Failures: Testlerin kaç tanesinin başarılı, kaç
tanesinin başarısız olduğunun listelendiği kısımdır.
 Record: Kayıt tutmak için kullanılan buton.
Selenium Örnek Test Case 1:
• Anasayfa’dan login olma sayfasına git.
• Login olma ekranında kullanıcı adını gir.
• Login olma ekranında şifreyi gir.
• Submit butonuna bas.
• “Bana Özel” sayfasına yönlenip yönlenmediğini kontrol et.
• “Adres Bilgilerim”e tıkla.
• Çıkan sayfada Güncelle’ye tıkla.
• TC Kimlik Noyu 11111111111 olarak değiştir.
• Kaydet butonuna tıkla.
• “Lütfen T.C. Kimlik Numaranızı Doğru Olarak Giriniz.” hata
mesajının sayfada yer alıp almadığını kontrol et.
Selenium Örnek Test Case 1:
• Bu işlemleri Selenium Ide ile kayıt ettiğimizde bize
aşağıdaki kodu oluşturacaktır:
Selenium Örnek Test Case 1:
• Bu işlemleri Selenium Ide ile kayıt ettiğimizde bize
aşağıdaki kodu oluşturacaktır:
Selenium Örnek Test Case 2:
• THY sitesi için SearchFlight test senaryo gerçeklemesini
test edelim.
Selenium Örnek Test Case 2:
• Bütün kontrolleri geçerek bizim için örnek test senaryosunu başarıyla
gerçekleştirdi. Beklenen değerlerin kontrolleri hatasız bir şekilde gerçekleştirildi.
2) Selenium WebDriver
 Selenium WebDriver’ın eklenmesinden sonra Selenium 2.0
olarak yayınlandı. WebDriver, Selenium’un kendi içinde
geliştirmiş olduğu en önemli özelliklerinden biri diyebiliriz.
Çünkü WebDriver, test yapan kişilerin isteklerine göre
browserın kendi metodlarını kullanarak işlem yapabilir.
 WebDriver bir çok browserda çalışmaktadır. (Firefox, Chrome,
Opera, Safari, Internet Explorer vs..) Bu durum test uzmanları
için güzel bir özellik olup, browserların davranışlarını daha
yakından görerek müdahele etmelerine olanak sağlar.
2) Selenium WebDriver
 WebDriver’ın geliştirilmesindeki en büyük amaç dinamik web
sitelerinin içeriklerinin belli bir kısmının değişimi sırasında tüm
sayfanın tekrardan yüklenmeden yapılan değişiklikleri görerek
test caselerinin devam ettirilmesine yardımcı olmaktır.
 Selenium WebDriver sayesinde yapmış olduğumuz projenin
testi için kullanmamız gereken tek şey WebDriver API’ı
indirmektir. API sayesinde projenizin diline göre Java, .NET,
Python, Ruby, PHP, Perl gibi dillerini kullanarak test scriptlerinizi
yazılabilir. Bu araç daha çok developerlara yöneliktir.
2) Selenium WebDriver
 Sistemimizde Java JDK kurulu olmalıdır.
 Eclipse kurulu olmalıdır.
 Selenium Java Client download edilir.
 Jar dosyasi extract edilir.
 Eclipse java projesi oluşturulur.
 Jar dosyalari proje ye import edilir.
 Test class i oluşturulur.
package test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class TestClass {
public static void main(String[] args) {
//Here we initialize the firefox webdriver
WebDriver firefoxDriver=new FirefoxDriver();
//Open the url which we want in firefox
firefoxDriver.get("Http://www.google.com");
}
2) Selenium WebDriver
 Selenium c# client bilgisayarımıza indirip oluşturacağımız bir klasörün içerisine
çıkartıyoruz.
 nunitframework.dll bilgisayarımıza indiriyoruz.
2) Selenium WebDriver
 Selenium c# client bilgisayarımıza indirip oluşturacağımız bir klasörün içerisine
çıkartıyoruz.
 nunitframework.dll bilgisayarımıza indiriyoruz.
2) Selenium WebDriver
 Daha sonra projeye testlerin yazılacağı bir Class ekleriz. Solution Explorer
eklediğimiz classın içerisine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox; //Firefox'u kullanmamızı sağlayan namespace
using NUnit.Framework;
[TestFixture()]
public class SeleniumTestSuite
{
[SetUp]
public void RunTest()
{
//Yapılacak testler yazılır.
}
}
2) Selenium WebDriver
 Daha sonra projeye testlerin yazılacağı bir Class ekleriz. Solution Explorer
içindeki ilk_test satırının üzerinde;
3) Selenium-Grid
 Selenium’un geliştirmiş olduğu ve geliştirmesi devam eden Selenium-Grid
farklı sunucular üzerinde farklı browserlar ile paralel bir şekilde
çalıştırmaktadır. Buradaki asıl amaç farklı işletim sistemi, donanım, cihaz gibi
kombinasyonlar üzerinde test sonuçlarını görmek, dağıtık ortamda paralel
olarak test süreçlerini yürütmek ve test sonuçlarını hızlıca almaktır. Bu
testler paralel olarak çalıştığında süre olarak ciddi bir zaman kazancı
gözükmektedir.
 Selenium Hub ve Node yapısını kullanarak testlerini yapmaktadır.
 Geliştirilmeye devam edilmektedir.
Sonuçlar:
 Büyük çapta web projelerinde milyonlarca sayfa içerdiğinden test maliyeti
kritik önem içermektedir. Test otomasyon araçları bu kapsamda
değerlendirildiğinde çok önemli yer teşkil etmektedir.
 Selenium test otomasyon aracı kullanıcılara tarayıcı ve işletim sistemi
farketmeksizin tüm platform/tarayıcılarda test etme imkanı sunduğundan
zaman ve iş gücü maliyetini önemli ölçüde azaltmaktadır.
 Kullanıcıların çok sayıda giriş yapmaları gerken durumlarda kullanım
kolaylığı sağlayarak zamandan çok büyük ölçüde tasarruf ve test kolaylığı
sağlamaktadır.
 Çeşitli test senaryolarını çok kısa süre içerisinde otomatik bir şekilde test
edebilme imkanı sağlamaktadır.
Referanslar
 Kaur H., Gagan G., “Comparative Study of Automated Testing Tools:
Selenium, Quick Test Professional and Testcomplete”, 2013,
ISSN:22489622, Volume 3, Issue 5, 1739 - 1743
 http://www.seleniumhq.org/
 https://en.wikipedia.org/wiki/Selenium_software
 https://en.wikipedia.org/wiki/Web_testing

More Related Content

PPTX
Selenium ile Web testi.
PDF
New trends in testing automation
PPS
Selenium Demo
PPTX
Selenium sunum
PDF
API Testing
PDF
50 Soruda Yazılım Testi
PPTX
Software development life cycle yazılım geliştirme yaşam döngüsü
PDF
Bir Test Uzmanına Söylenmemesi Gereken Şeyler
Selenium ile Web testi.
New trends in testing automation
Selenium Demo
Selenium sunum
API Testing
50 Soruda Yazılım Testi
Software development life cycle yazılım geliştirme yaşam döngüsü
Bir Test Uzmanına Söylenmemesi Gereken Şeyler

What's hot (20)

PDF
Testing types functional and nonfunctional - Kati Holasz
PPTX
test_automation_POC
PPTX
ATLAS Automation POC
PPTX
Test NG Framework Complete Walk Through
PPTX
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
PPTX
Selenium test automation
PPTX
Importance of a Test Management Tool for Your Project
PPTX
Api testing
PDF
Implicit and Explicit waits in Selenium WebDriwer, how to.
PPTX
Appium overview
PDF
Postman & API Testing by Amber Race
PPTX
Introduction to performance testing
PPTX
Test automation
PDF
Mobile App Testing Strategy by RapidValue Solutions
PPTX
Top 20 best automation testing tools
PDF
API Testing. Streamline your testing process.
PDF
API Testing: The heart of functional testing" with Bj Rollison
PPTX
Automation - web testing with selenium
PPT
Software Testing
PDF
Testing types functional and nonfunctional - Kati Holasz
test_automation_POC
ATLAS Automation POC
Test NG Framework Complete Walk Through
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Selenium test automation
Importance of a Test Management Tool for Your Project
Api testing
Implicit and Explicit waits in Selenium WebDriwer, how to.
Appium overview
Postman & API Testing by Amber Race
Introduction to performance testing
Test automation
Mobile App Testing Strategy by RapidValue Solutions
Top 20 best automation testing tools
API Testing. Streamline your testing process.
API Testing: The heart of functional testing" with Bj Rollison
Automation - web testing with selenium
Software Testing
Ad

Viewers also liked (15)

PDF
248255 334309-1-pb
PPTX
Test Driven Development
PPTX
(GFS) Google Dosya Sistemi
PDF
Yazılım Test Yaşam Döngüsü ve Proje Başarısına Etkisi
PPT
Web tabanlı egıtım
PPTX
Eğitim Yazılımları
PPTX
Eğitsel yazılımları değerlendirme kriterleri
 
PPT
Internet Tabanli EğItim
PPTX
Yaprak Akçay Dinamikler 2016
PDF
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
PPTX
Eğitsel yazılımlar
PPTX
Barış Sarıalioğlu Dinamikler 2016
PPSX
Yazilim Projelerinde Test Sureci
PDF
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
PDF
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
248255 334309-1-pb
Test Driven Development
(GFS) Google Dosya Sistemi
Yazılım Test Yaşam Döngüsü ve Proje Başarısına Etkisi
Web tabanlı egıtım
Eğitim Yazılımları
Eğitsel yazılımları değerlendirme kriterleri
 
Internet Tabanli EğItim
Yaprak Akçay Dinamikler 2016
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Eğitsel yazılımlar
Barış Sarıalioğlu Dinamikler 2016
Yazilim Projelerinde Test Sureci
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Ad

Similar to Web Application Testing (6)

PDF
Selenium
PDF
Selenium 2- Keytorc Test Automation Cheatsheet
PDF
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
PPTX
Teste bakıs v01
PDF
Jmeter ile uygulama katmanında yük testi gerçekleştirme
PPTX
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
Selenium
Selenium 2- Keytorc Test Automation Cheatsheet
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Teste bakıs v01
Jmeter ile uygulama katmanında yük testi gerçekleştirme
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...

Web Application Testing

  • 1. Yıldız Teknik Üniversitesi Ömer Faruk İNCE 14501008 Yazılım Kalitesi ve Test Teknikleri 24/12/2015
  • 2. Selenium Nedir?  Selenium web tabanlı uygulamaların testlerini browser/tarayıcı üzerinden yapmamızı sağlayan ve tüm web testlerinin yapılabileceği bir test aracıdır.  Selenium’un desteklediği programlama dillerinden bazıları:  Java  C#  Perl  Groovy  PHP  Python  Ruby  .Net  Açık kaynaklı (open source) bir yazılımdır.  http://www.openqa.org/
  • 3. Selenium Nedir ?  Selenium’un çalışabildiği işletim sistemi türleri:  Windows  Linux  Mac OS işletim sistemlerinde çalışabilmektedir. Selenium Bileşenleri  Selenium’u üç ana başlıkta inceleyeceğiz.  Selenium IDE  Selenium WebDriver  Selenium-Grid
  • 4. 1) Selenium IDE  Selenium IDE, geliştirdiğimiz web tabanlı uygulamaların test edilmesini sağlayan ve bunları daha sonrasında otomatize ederek browser üzerinde aynı caseleri tekrar tekrar girmeden kontrol etmemizi sağlayan araçtır.  Selenium IDE’nin başlıca özellikleri; 1. Normal bir kullanıcı gibi davranıp işlemler kullanıcıymış gibi yapılabilir ve kaydedilebilir. 2. Fonksiyonel testler yazmak için kullanılmaktadır. 3. Bir çok dil desteği mevcut (Java, .NET, Python, Ruby, PHP,Perl).
  • 5. 1) Selenium IDE  Selenium IDE’nin başlıca özellikleri; 1. Normal bir kullanıcı gibi davranıp işlemler kullanıcıymış gibi yapılabilir ve kaydedilebilir. 2. Fonksiyonel testler yazmak için kullanılmaktadır. 3. Firefox plug-in’i olarak çalışmaktadır. 4. Bir çok dil desteği mevcut (Java, .NET, Python, Ruby, PHP,Perl). 5. Selenium’un open source olması sayesinde bir çok platformda (Windows, Linux, IOS) herhangi bir sorun yaşamadan çalışmaktadır. 6. Bir çok dil desteği ve platform desteği sayesinde diğer test araçlarına göre daha çok tercih edilmektedir. (UFT, QTP)
  • 8. Selenium IDE Özellikleri:  Menüler: Menü kısmında yeni test oluşturmak, yapılan testleri kaydetmek ve istediğiniz testi, istediğimiz dilde export ederek kullanabiliriz. Bu özelliklerin hepsini yapacağınız testlerde kullanabilirsiniz.  Table: Adım adım yapılan işlemlerin tutulduğu bölümdür.  Source: Table’da bulunan değerlerin HTML kodudur.  Play: Kaydedilen adımların otomatize edilip tekrardan aynı test caselerini girmeden çalıştırıldığı bölümdür.  Test Case: Yapılan testlerin isimlendirerek saklandığı bölümdür.  Command: Çalıştırılan uygulamanın test caselerine uygun alanların doldurularak işleme devam edildiği yerdir.
  • 9. Selenium IDE Özellikleri: En çok kullanılan komutlar aşağıdaki gibidir.  open: URL’i ( Siteyi/adresi ) açmak içindir.  click: Bir nesneye tıklamak içindir.  clickandWait: Nesneye tıkladıktan sonra sayfanın yüklenmesini bekler.  assertElementPresent: Belirtilen elemanın yüklenmesini bekler.  assertTextPresent: Belirtilen bir text’in(yazının) sayfada olup olmadığını kontrol eder.  deleteCookie: Belirtilen Cookie’nin silinmesi sağlar.  mouseOver: Mouse’u belirtilen elementin üzerine götürür.  verifyTextPresent: Belirtilen nesnenin belirmesini bekler ve sağlamasını yapar.  waitForPageToLoad: Sayfanın yüklenmesini bekler.  captureEntirePageScreenshot: Üzerinde test yaptığımız sayfanın ekran görüntüsünü çerçevesiz olarak kaydeder.  waitForElementPresent: Sayfadaki bir elementin yüklenmesini bekler, bunu genellikle JavaScript tarafından kontrol edilen elementler için kullanırız.  type: Bir input’un içine yazmak için kullanılır.
  • 10. Selenium IDE Özellikleri:  Log: Adım adım yapılan testlerin loglarının bulunduğu kısımdır. Play ile çalıştırılarak yapılan testler hakkında hata mesajlarının görüntülendiği kısımdır. Bu sayede yaptığınız testleri bir nevi debug etmiş olursunuz.  Reference: Command kısmında kullanılan kodların dökümante edildiği kısımdır. Bu sayede yaptığınız testleri dökümante ederken size kolay sağlayarak işlemlerinizi hızlı bir şekilde yapabilirsiniz.  Base URL: Testlerin hangi sayfada yapılacağını gösteren kısımdır.  Target: Ekranda test edilmek istenen alanın belirtildiği kısımdır.  Value: Yapılan istenen test için değerin girildiği alandır.  Runs & Failures: Testlerin kaç tanesinin başarılı, kaç tanesinin başarısız olduğunun listelendiği kısımdır.  Record: Kayıt tutmak için kullanılan buton.
  • 11. Selenium Örnek Test Case 1: • Anasayfa’dan login olma sayfasına git. • Login olma ekranında kullanıcı adını gir. • Login olma ekranında şifreyi gir. • Submit butonuna bas. • “Bana Özel” sayfasına yönlenip yönlenmediğini kontrol et. • “Adres Bilgilerim”e tıkla. • Çıkan sayfada Güncelle’ye tıkla. • TC Kimlik Noyu 11111111111 olarak değiştir. • Kaydet butonuna tıkla. • “Lütfen T.C. Kimlik Numaranızı Doğru Olarak Giriniz.” hata mesajının sayfada yer alıp almadığını kontrol et.
  • 12. Selenium Örnek Test Case 1: • Bu işlemleri Selenium Ide ile kayıt ettiğimizde bize aşağıdaki kodu oluşturacaktır:
  • 13. Selenium Örnek Test Case 1: • Bu işlemleri Selenium Ide ile kayıt ettiğimizde bize aşağıdaki kodu oluşturacaktır:
  • 14. Selenium Örnek Test Case 2: • THY sitesi için SearchFlight test senaryo gerçeklemesini test edelim.
  • 15. Selenium Örnek Test Case 2: • Bütün kontrolleri geçerek bizim için örnek test senaryosunu başarıyla gerçekleştirdi. Beklenen değerlerin kontrolleri hatasız bir şekilde gerçekleştirildi.
  • 16. 2) Selenium WebDriver  Selenium WebDriver’ın eklenmesinden sonra Selenium 2.0 olarak yayınlandı. WebDriver, Selenium’un kendi içinde geliştirmiş olduğu en önemli özelliklerinden biri diyebiliriz. Çünkü WebDriver, test yapan kişilerin isteklerine göre browserın kendi metodlarını kullanarak işlem yapabilir.  WebDriver bir çok browserda çalışmaktadır. (Firefox, Chrome, Opera, Safari, Internet Explorer vs..) Bu durum test uzmanları için güzel bir özellik olup, browserların davranışlarını daha yakından görerek müdahele etmelerine olanak sağlar.
  • 17. 2) Selenium WebDriver  WebDriver’ın geliştirilmesindeki en büyük amaç dinamik web sitelerinin içeriklerinin belli bir kısmının değişimi sırasında tüm sayfanın tekrardan yüklenmeden yapılan değişiklikleri görerek test caselerinin devam ettirilmesine yardımcı olmaktır.  Selenium WebDriver sayesinde yapmış olduğumuz projenin testi için kullanmamız gereken tek şey WebDriver API’ı indirmektir. API sayesinde projenizin diline göre Java, .NET, Python, Ruby, PHP, Perl gibi dillerini kullanarak test scriptlerinizi yazılabilir. Bu araç daha çok developerlara yöneliktir.
  • 18. 2) Selenium WebDriver  Sistemimizde Java JDK kurulu olmalıdır.  Eclipse kurulu olmalıdır.  Selenium Java Client download edilir.  Jar dosyasi extract edilir.  Eclipse java projesi oluşturulur.  Jar dosyalari proje ye import edilir.  Test class i oluşturulur. package test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class TestClass { public static void main(String[] args) { //Here we initialize the firefox webdriver WebDriver firefoxDriver=new FirefoxDriver(); //Open the url which we want in firefox firefoxDriver.get("Http://www.google.com"); }
  • 19. 2) Selenium WebDriver  Selenium c# client bilgisayarımıza indirip oluşturacağımız bir klasörün içerisine çıkartıyoruz.  nunitframework.dll bilgisayarımıza indiriyoruz.
  • 20. 2) Selenium WebDriver  Selenium c# client bilgisayarımıza indirip oluşturacağımız bir klasörün içerisine çıkartıyoruz.  nunitframework.dll bilgisayarımıza indiriyoruz.
  • 21. 2) Selenium WebDriver  Daha sonra projeye testlerin yazılacağı bir Class ekleriz. Solution Explorer eklediğimiz classın içerisine; using System; using System.Collections.Generic; using System.Linq; using System.Text; using OpenQA.Selenium; using OpenQA.Selenium.Firefox; //Firefox'u kullanmamızı sağlayan namespace using NUnit.Framework; [TestFixture()] public class SeleniumTestSuite { [SetUp] public void RunTest() { //Yapılacak testler yazılır. } }
  • 22. 2) Selenium WebDriver  Daha sonra projeye testlerin yazılacağı bir Class ekleriz. Solution Explorer içindeki ilk_test satırının üzerinde;
  • 23. 3) Selenium-Grid  Selenium’un geliştirmiş olduğu ve geliştirmesi devam eden Selenium-Grid farklı sunucular üzerinde farklı browserlar ile paralel bir şekilde çalıştırmaktadır. Buradaki asıl amaç farklı işletim sistemi, donanım, cihaz gibi kombinasyonlar üzerinde test sonuçlarını görmek, dağıtık ortamda paralel olarak test süreçlerini yürütmek ve test sonuçlarını hızlıca almaktır. Bu testler paralel olarak çalıştığında süre olarak ciddi bir zaman kazancı gözükmektedir.  Selenium Hub ve Node yapısını kullanarak testlerini yapmaktadır.  Geliştirilmeye devam edilmektedir.
  • 24. Sonuçlar:  Büyük çapta web projelerinde milyonlarca sayfa içerdiğinden test maliyeti kritik önem içermektedir. Test otomasyon araçları bu kapsamda değerlendirildiğinde çok önemli yer teşkil etmektedir.  Selenium test otomasyon aracı kullanıcılara tarayıcı ve işletim sistemi farketmeksizin tüm platform/tarayıcılarda test etme imkanı sunduğundan zaman ve iş gücü maliyetini önemli ölçüde azaltmaktadır.  Kullanıcıların çok sayıda giriş yapmaları gerken durumlarda kullanım kolaylığı sağlayarak zamandan çok büyük ölçüde tasarruf ve test kolaylığı sağlamaktadır.  Çeşitli test senaryolarını çok kısa süre içerisinde otomatik bir şekilde test edebilme imkanı sağlamaktadır.
  • 25. Referanslar  Kaur H., Gagan G., “Comparative Study of Automated Testing Tools: Selenium, Quick Test Professional and Testcomplete”, 2013, ISSN:22489622, Volume 3, Issue 5, 1739 - 1743  http://www.seleniumhq.org/  https://en.wikipedia.org/wiki/Selenium_software  https://en.wikipedia.org/wiki/Web_testing

Editor's Notes

  • #14: 5. satırda yer alan “clickAndWait” komutu “dropmenudiv” id’li div’e ulaşmaya çalışıyor fakat “Bana Özel” sayfasında ki bu div JavaScript ile “Üyeliğim” linkinin üzerine geldiğimizde oluşturuluyor. Mouse’un “Üyeliğim” linkinin üzerine gitmesi gerektiğini kodumuza eklemeliyiz. Bu tip JavaScript kökenli problemleri çözdükten sonra sayfalarda ki kontrolleri yapmamız gerekiyor. Login olduktan sonra gittiğimiz sayfada “Bana Özel” yazıp yazmadığının kontrolü için “assertTextPresent” komutunu kullanmamız gerekir. “TC Kimlik No” girildikten sonra sayfada hata oluşup oluşmadığını görmek için de aynı komutu kullanmalıyız.
  • #15: 5. satırda yer alan “clickAndWait” komutu “dropmenudiv” id’li div’e ulaşmaya çalışıyor fakat “Bana Özel” sayfasında ki bu div JavaScript ile “Üyeliğim” linkinin üzerine geldiğimizde oluşturuluyor. Mouse’un “Üyeliğim” linkinin üzerine gitmesi gerektiğini kodumuza eklemeliyiz. Bu tip JavaScript kökenli problemleri çözdükten sonra sayfalarda ki kontrolleri yapmamız gerekiyor. Login olduktan sonra gittiğimiz sayfada “Bana Özel” yazıp yazmadığının kontrolü için “assertTextPresent” komutunu kullanmamız gerekir. “TC Kimlik No” girildikten sonra sayfada hata oluşup oluşmadığını görmek için de aynı komutu kullanmalıyız.
  • #16: 5. satırda yer alan “clickAndWait” komutu “dropmenudiv” id’li div’e ulaşmaya çalışıyor fakat “Bana Özel” sayfasında ki bu div JavaScript ile “Üyeliğim” linkinin üzerine geldiğimizde oluşturuluyor. Mouse’un “Üyeliğim” linkinin üzerine gitmesi gerektiğini kodumuza eklemeliyiz. Bu tip JavaScript kökenli problemleri çözdükten sonra sayfalarda ki kontrolleri yapmamız gerekiyor. Login olduktan sonra gittiğimiz sayfada “Bana Özel” yazıp yazmadığının kontrolü için “assertTextPresent” komutunu kullanmamız gerekir. “TC Kimlik No” girildikten sonra sayfada hata oluşup oluşmadığını görmek için de aynı komutu kullanmalıyız.