com.A101.Selenium.Appium


www.A101.com.tr sitesinin testlerini gerçekleştirdiğimiz bu projemizde Cucumber BDD framework ile çalışıldı Cucumber Framework'ünde OOP(object oriented programming) konseptine uyarak POM(page object model) dizayn modeli kullanılmıştır


pages dosyası

bu dosyamızda elimizde bulunan sitenin testlerini gerçekleştireceğimiz elemenlerin locatelerini sakladığımız classlarımız bulunmakta.İstediğimiz locate almak için oluşturduğumuz clasın adında constructar oluşturuyoruz ve içine PageFactory clasını çağırıp içerisine oluşturduğumuz driver çağırıp burada olduğunu belli ettiğimiz this key kullanılır. locatelerimizinde çağırabilinmesi için de FindBy notasyonu ile locatelerimizi oluşturabiliriz

runner dosyası

runner clasımızda kullandığımız notasyonlar sayesinde burda çalıştırabildiğimiz feature dosyalarının hem raporlarını alabiliyoruz hemde istenilen methodalrın oluşturulması sağlanabiliyor

stepDefinitons dosyası

burda ise tüm kodlarımızın çalışmasını sağlayan methodlarımızın bulunduğu classlarımız vardır.Locatelerimizi , driverımız buraya çağırarak yapmak istediğimiz adımların kodlarını burda yazıyoruz

Utilities dosyası

yardımcı classımız bu dosyamızda bize sürekli lazım olan classlarımız ve methodlarımız bulunmaktadır. İçerisinde projemizi daha anlaşılır hale getirecek classlarımız ve methodalrımız vardır bunlar Driver.class , ConfigReader.class , ReusableMehod.class vb. dosyalarımız bulunmaktadır.

resources dosyası

feature dosyalarımızın bulunduğu dosyamızdır burda BDD (behavior Driven Development) kullanılarak ve Gherking dili kullanılarak featuremiz oluşturuluyor.oluşturduğumuz adımları direk method olarak oluşturma fırsatı tanımakta bu sayede java dili yada yazılım ile alakası olmayan kişilerinde yapılanları daha anlaşılır bir hale getirrilmesini sağlamaktadır

Configuration.properties

properties dosyamızda sürekli kullandığımız variablelarımız bulunmakta , bu veriabları kullanmak için properties dosyası Key = value olaraka oluşturulmakta ,burdaki bilgileri başaka classlara çağırabilmek için utilities dosyasından ConfigReader classı çağırırlara içindeki method saysınde bu bosyada bulunan bilgileri istediğimiz yerlere çağırabiliriz.

pom.xml

tüm çalışmlaraımızın ve kodlarımızın bilgilerinin bulunduğu bu dosyada aslında kullanmak istediğimiz kodalrın kütüphanesini dependencies tagının içerisine yerleştirip güncel bilgilerini sürekli olarak kendimizde tutabiliriz. burası sayaesinde tüm kodlara erişimi sağlayabiliriz.


Selenium Testi


Java11 ve Maven projesi oluşturulup cucumber BDD framework kullanılarak oluşturulmuştur.


java git Selenium intelj git


Appium testi


Java8 ve Maven projesi oluşturulup cucumber BDD framework kullanılarak oluşturulmuştur.


java git Selenium Selenium intelj maven


Appium testinde yapılan üc test

A101 uygulaması

GENYMOTİON uygulası kurularak burda
Samsung Galaxy S10 kuruldu
özellikler = Android 10(Api29) yüklendi , ekran 1440 X 3040 , 560 Dpi
A101 uygulamsı telefona sürükleyip bırakıldı kurulduktan sonra test işlemleri başlatıldı.
LÜTFEN BU ÖZELLİKLERE SAHİP TELEFONU KURUP TEST YAPINIZ.

Screenshot_11 Screenshot_12


Chrome uygulamasından A101 sitesine gidiş (NATİVE_APP)

ANDROİD STUDİO kuruldu
Pixel 2 API 29
özellikler= Android 10 (Api29) yüklendi, ekran 1080 X 1920 bu testimizde ise CHROME uygulamsı yüklendi chrome(105.0.5195.127).exe kullanıldı yeni güncelleme geldiyse driver dosyasında bulunan chromedriver.exe güncellenmesi gerekmektedir.burda oluşturduğumuız driverda context kullanılarak NATİVE_APP geçildi ve uygulama üzerinde AndroidFindBy notasyonu kullanılarak elementlerin locateleri alınmıştır


Chrome ile direk browser bağlanma (CHROMİUM)

ANDROİD STUDİO kuruldu
Pixel 2 API 29
özellikler= Android 10 (Api29) yüklendi, ekran 1080 X 1920 bu testimizde ise CHROME uygulamsı yüklendi chrome(105.0.5195.127).exe kullanıldı yeni güncelleme geldiyse driver dosyasında bulunan chromedriver.exe güncellenmesi gerekmektedir.burda oluşturduğumuız driverda context kullanılarak CHROMİUM geçildi ve uygulama üzerinde FindBy notasyonu kullanılarak elementlerin locateleri alınmıştır. bu sayede burda direk webden test yapılır gibi Selenium özellikleri kullanılarak telefondada testler yapıldı LÜTFEN BU ÖZELLİKLERE SAHİP TELEFONU KURUP TEST YAPINIZ.
Screenshot_13

Screenshot_14