KaderTarlan

BlogCan

Selenium IDE

Test senaryolarımızı Selenium-IDE ile hayata geçireğiz. Senaryomuzun adımlarını anlayıp Selenium-İde de onlara uygun komutları bulup çalışabilir bir test oluşturacağız. Bir önceki yazımda bulunan test senaryosunu kullanacağım.

Seleniumda kodlarımızı yazabilmek için Command kısmına yazacağımız komutların anlamını ve Target kısmına yazacağımız yer bulucularını kullanmayı öğrenmeliyiz.

İlk adım;

  1. Go to https://borc_takibi.herokuapp.com/

Bu adıma uygun selenium komutumuz Open komutu olacak.
Open komutu ile herhangi bir URL adresini Seleneiumda açabiliriz.
Open komutunu seleniumda yazıp Run! dersek istediğimiz sayfa resimdeki gibi açılmış olacak.

İkinci adım;

2.Verify that “BORÇ TAKİBİ” appeared on the page

Sayfamızı Open komutu ile açmış olduk. Şimdi sayfamızın açıldığı kontrolünü de verify ile yazdığımız komutlarla sağlayacağız. Verify adımlarını Assert komutları ile yapacağız. Assert ile yazılan selenium komutları, eğer istenilen adım gerçekleşmemişse testi durdurur. Yanlış giden bir durum varsa engellenmiş olur.
Ben kısaca en çok kullanılacak bir kaç Assert komutundan bahsedeyim;

AssertElementPresent(locator), bu komutumuz ekrandaki hedeflenen elemanı sayfada arar. Elemanı bulursa true bulamazsa false döndürür.
AssertTextPresent(pattern), bu komutumuz ekranda görmek istediğimiz yazıyı kontrol eder istenen metin ekranda varsa true yoksa false döndürür.
AssertVisible(locator), belirtilen ögenin görünür durumda olup olmadığı kontrolünü yapar , true veya false döndürür.
AssertTitle(pattern), geçerli sayfanın başlığını kontrol eder, sayfa geçişlerinde başlık değişmiş mi kontrolü için işimize epey yarar.

Tekrar senaryomuza dönersek sayfamız açıldı ve beklediğimiz yazı geldi mi kontrolü için AssertTextPresent komutunu kullanacağız.
Sayfamızı açtık kontrolümüzü sağladık resimde de görüldüğü gibi;

Üçüncü adım;

3. Click on “Arkadaş Ekle” button
Bu adımımızda dikkatinizi iki komuta çekeceğim;
Click ve ClickAndWait
Bu komutları butona, seçeneklere tıklama işlemlerinde kullanıyoruz. Fakat aralarında bir fark var. Sayfa geçişlerinde butona tıkladıktan sonra sayfanın yüklenebilmesi için bir bekleme süremiz vardır işte bu beklemeyi ayarlayan butona tıklayan komut, ClickAndWait komutudur.
Sadece click işlemi yapacaksak, aynı sayfada kalıp o sayfa içindeki işlemlerimizi hal edeceksek Click komutunu kullanmalıyız.
Eğer aynı sayfadaysanız ve yaptığınız işlem sayfa değiştirmediyse, gene de tıkladıktan sonra beklememiz gereken işlem varsa işte onun içinde Pause komutunu kullanırız. Pause komutunda bekleme süresini siz ayarlarsınız, komutu verip bekleme süresini de yazarsak click işleminden sonra o süre kadar bekler.
Peki bekleme işlemi yapmasak neler olur? Biz selenium testlermizi fast konumda çalıştırırız. Adımlar akar gider siz o bekleme işini hesaba katmazsanız hala o işle oyalanırsa selenıum ikinci adımda yapması gereken işi arar ve bulamadığı için test patlar.
Testimize dönersek şimdi burada sayfa geçişi işi yapacağımız için ClickAndWait komutunu kullanacağız.

Komutumuzu yazdıktan sonra clickandwait işlemini yapacağımız yeri belirlemeliyiz.
Selenium IDE de çoğunlukla CSS Locator, Xpath, Locator‘ları (Yer Bulucuları) kullanacağız. Xpath, Selenium IDE de kullanılan bir yol göstericidir.Veritabanında sorgu çekileceği zaman Test Case'de sorguyu Path'e vermek için kullanılır. Bu Locatorı daha çok bu iş için kullanırız.
CSS Locator ise Xpath nazaran daha hızlıdır. Bu yer bulucuyu Web sitelerinde yer alan HTML sıralamasında CSS class ve CSS id'leri bularak kullanırız.
Erişmek istediğiniz yere İnspect Element derseniz Web sayfamızın bilgileri çıkar, erişeceğimiz yerinde HTML ağacındaki yeri bu bilginin içinde farklı renkte gözükür bize. O satıra sağ tıklayıp Copy Unique Selector dersek erişceğimiz yerin Css olarak adresi kopyalanmış olur. Bu kolay yolumuz olsun. Ama extrem şeyler için Css ve Xpath kullanmayı öğrenirsek işimiz kolaylaşır.
Adımları resimlerde de görelim.

Kopyaladığımız Css Adresini Komutumuzun Target alanını css=… olacak şekilde yazdık. Seleniumda find butonuna tıklarsak Target kısmına yazdığımız css ile bulduğumuz yeri gösterir bize, burada sarı renk alır.

4. Verify that “Yeni Borçlu Ekle” appeared on the page
Burada gene bir metin kontrolu var ve AssertTextPresent kullanacağız.

5. Fill in “Borçlunun Adı Soyadı:”,“E-Mail Adresi:”,“Twitter Kullanıcı Adi:” sections
Bu adımda text alanlarını dolduracağız. Bunu Seleniumda Type(locator,pattern) komutu ile sağlarız.
Parantez içine yazdığım şeylerden ilki Target ikincisi Value alanlarına yazılacak şeyler.
Command kısmına ise komutumuzun kendisi gelecek bu adım için Type komutu gelecek. Borçlu adı soyadı yazma şekli resimdeki gibi ;

aynı şekilde borçlu emaili ve twitter kullanıcı adı da böyle yazılacak.

6. Click on “Create Friend” button Burada bir sayfa geçişi söz konusu o zaman ClickAndWait komutu kullanmamız gerekir.
Create butonuna tıklayıp farklı bir sayfaya geçeriz resimdeki gibi;

7. Verify that “ Successful Created.” appeared on the page
Burada bir yazı kontrolümüz var AssertTextPresent yapacağız.

Adımlarımızı Seleniumda yazdıktan sonra Run! komutunu veririz ve Log kısmından testimizin çalışmasını takip ederiz, hatasız adımlar yeşil renk olur.