Giter VIP home page Giter VIP logo

patikafinalcase's Introduction

A101 Practicum Final Case

Hepsiburada.com Sitesinde Yapılan Kullanıcı Test Senaryoları

Hepsiburada sitesi üzerinde iki farklı senaryo ile testlerimizi yaptık

  • İlk Senaryo

     - hepsiburada_sayfasini_ac();
     - kullanici_girisi_yap();
     - kullanici_girisin_onayla();
     - urun_aramasi_yap("laptop");
     - arama_islemini_dogrulama("laptop");
     - sayfadan_rastgeleUrun_sec();
     - urun_sayfasina_gecis_yap();
     - diger_satici_sayisini_kontrolEt_urunSec();
     - sepet_sayfasina_git();
     - sepet_urun_onaylama();
     - sepetteki_urunleri_sil();
     - kullanici_logout_olur();
     - kullanici_logout_islemini_dogrular();
    
  • İkinci Senaryo

     - hepsiburada_sayfasini_ac();
     - urun_aramasi_yap("laptop");
     - arama_islemini_dogrulama("laptop");
     - sayfadan_rastgeleUrun_sec();
     - urun_sayfasina_gecis_yap();
     - diger_satici_sayisini_kontrolEt_urunSec();
     - sepet_sayfasina_git();
     - sepet_urun_onaylama();
    

Testler iki senaryo halinde yapıldı. ilk senaryomuzdaki login olup ürün seçme şeklindeydi.

Test Senaryolarında Yapılan Modifikasyonlar

Test yapılan site Hepsiburada özellikle login olma fonksiyonunu otomasyona kapatmış olduğu görüldü
test çalıştırıldığında login ekranından yapılan post işleminin response olarak 403 hata kodu aldığı görüldü.

Login Olma Sırasında Site Otomasyona İzin Vermediginden Alınan Hatanın Status Kodu!

Otomasyonda bu aşamaya gelindeğinde kullandığımız driver üzerinde modifikasyon yapılarak bu aşama geçildi.

  ChromeOptions options=new ChromeOptions();
  options.addArguments("--disable-blink-features");
  options.addArguments("--disable-blink-features=AutomationControlled");
  options.addArguments("--disable-extensions");
  options.addArguments("−−lang=tur");
  driver = new ChromeDriver(options=options);

Bu adımda alternatif olarak facebook ile login olma da kod bloğuna entegre edildi. Facebook ile Alternatif Login İşlemi

Her iki test senaryomuzda arama sonrası gelen ekranda rastgele bir ürün secilip secilen ürünün detay sayfasından iki farklı satıcıdan daha alınması step yapılırken sayfalar arası geçişler otomatik olarak yapmak için dinamik metotlar yazıldı
rastgele secilen ürünün detay sayfasında alternatif iki satıcı bulana kadar otomasyon şartı sağlayan ürünü bulana kadar
sayfalar arasında driver'ı taşıyıp kontrol edip şart sağlanana kadar geçişleri otomatik olarak yapıyor.

.

Log Kayıtları

Testlerimiz çalışırken konsolda log kayıtlarıda görülmektedir. bu log kayıtlarını aynı zamanda test dosyalarımızın
oldugu yerde de oluşturduğumuz Log dosyasına da kayıt ettik. Log

Raporlama

Raporlama da Allure Report Kullanıldı. Raporlamalara Ulaşmak için Testler Çalıştırıldıkdan Sonra Proje İçinde oluşan allure-result klasörünün path'i ni alıp konsolda aşağıdaki gibi yazıp çalıştırmamız gereklidir. Report

Rapor ile İlgili Görseller

  • Komut Default Browserımızda allure-result Klasörü İçersine Kayıt Edilen json Uzantılı Dosyaları Bir Araya Getirerek Rapor Formantında Bize Gösteriyor. Rapor Acilis

  • Rapor İceriğine Baktığımızda Testlerimizle ilgili Bir Çok Ayrıntı Görebiliriz. Rapor icerigi Rapor icerigi

  • Ayrıca Testler Sırasında Gidilen Stepleride Buradan Ayrıntılı Bir Şekilde Görebiliriz. Test Stepleri

Testler Hazırlanırken

  • Proje Java Programlama Dilinde Yazılmıştır.
  • Yazılan Senaryolar da Web de Selenium ve TestNG Framework'ü Kullanılmıştır.
  • Framework Yapısı Page Object Model(POM) ile Dizayn Edilmiştir.
  • Framework Yapısı İçerisinde Yapılan Kodlamalar da Object Oriented Programming(OOP) Kullanılmıştır.
  • Raporlama Tool'u Olarak Allure Report Kullanılmıştır.
  • Log Kayıtları İçin Kullanılan Log4j Kütüphanesi Allure Report İçine Entegre Edilerek Kullanılmıştır.
  • Proje de Her İki Test Senaryosunda da Locate'ler By Metod'la Alınmış Findby Anotation'ı Kullanılmamıştır.
  • Her Aşamada Assertion'lar la Testin Akışı İle İlgili Doğrulamalar Yapılmıştır.
  • Testlerde Kullanılan Data'lar Properties Classı Kullanılarak Alınmıştır.
  • Test Aşamalarında Test Edilen Site Üzerinde Otomasyona İzin Verilmeyen Alanlar Driver'da Motifikasyon Yapılarak Geçilmiştir.

patikafinalcase's People

Contributors

suatoruc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.