Projenin isterlerini elimden geldigince tamamlamayaca calistim, hatali fonkisyonlar olabilir. Zaman darligindan dolayi duzeltemedigim bir cok yapi var, calismayan yerlerin kod yapisini incelemenizi isterim, daha genis bir vakitte cozulebilir.
Docker Mac'e kurulum asamasi tamamlandi.
Docker seleniumu konfigüre etmenin birden fazla yolu var. ( network & compose)
Bu repoda network uzerinden ilerliyorum, proje icerisine docker-compose.yml dosyasinida ayrica ekledim.
docker network olusturma
docker network create trendyolGrid
docker hub olusturma
docker run -d -p 4444:4444 --net trendyolGrid --name selenium-hub selenium/hub:3.11.0-dysprosium
docker hub'a node ekleme (chrome&firefox)
docker run -d --net trendyolGrid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome:3.11.0-dysprosium
docker run -d --net trendyolGrid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-firefox:3.11.0-dysprosium
http://localhost:4444/grid/console > Selenium Hub ve Node' larimizin ayaga kalktigini gorebilmek ne mutlu :)
docker network 'ine bakarsak, eklediğimiz containerları görebiliriz.
docker network inspect trendyolGrid
Java + TestGN + Selenium WebDriver + XPath/CSSselector + LOG4j + Browsermob Proxy + Allure(eklenmedi)
vb. gelistirme araclari kullanildi.
Test projesi mimari yapisin da PageObjectModel patterni kullanildi, kod yapisinda ise
OOP temel ilkeleri Soyutlama(Abstraction) + Sarmalama(Encapsulation) + Çok-Şekillilik(Polymorphism)
ve Miras Alma/Kalıtım(Inheritance) kullanilmaya ozen gosterilmistir.
> Test projesinde her testClass birer BaseTestCase(abstract) class ile iliskilidir.
> Ayni sekilde her testPage birer BasePage(abstract) class ile iliskilidir.
Challenge testcaselerini calistirdigimizda ilgili path'e 2 adet csv uzantili dosya ekleyecektir.
1.Case 'de req/response sonuclarina gore islemler yapilmistir. 2.Case 'de ise BrowserMobProxy kullanilarak trafik dinlenilerek testler gerceklesitirilmistir.
System.getProperty("user.dir") + "/target/" + "csvTestResult";
Login testlerinde data driven test kosabilmesi icin excel reader eklemistim, hata aldim excel surumu yuzunden windos da problem olmuyordu mac de excel 2007 surum uyusmadigi hatasini aldim onu duzelttim ama yine hata cikti o yuzden uzerinde fazla duramadim, bilginize.
Class 'i incelemek isterseniz CustomIOReader(excelReader) Common > CustomCut altinda bulunuyor.
Login test methodlari
> testWithValidCredentials
> testWithInValidCredentials
> testWithEmptyCredentials
> testWithCheckPasswordMasked
> testWithCheckIfAfterLoginTakeBackToTheLoginPage
> testWithCheckSignOnAttemptsLimit
Api testi daha once yapmamistim, local ime kurulum islemleri devam ederken .Net c# denemeler yaptim, ekran goruntuleri asagidadir. Api test projesi repo adresi : github.com/oguzhanvrl/techTestApi