Malzemeler:
-Java 8
-Selenium
-TestNG
-Docker
-Selenium Grid
-Jenkins
-Github
Adımlar:
--Digitalocean'da açtığım droplet(Ubuntu)'e docker, docker-compose ve Jenkins kurdum.
--1 adet Selenium hub'a 2 adet chrome node ve 1 adet firefox node'u bağlı toplam 4 container ayakta.
--Master branchine her push yapıldığında testler crossbrowser ve paralel olarak koşuluyor.
(Droplet'in ram'i kısıtlı olduğu için her test her browser'da koşulmuyor. Ram'i artırmama rağmen yetmedi. Ama docker-compose sayesinde kolayca node sayısı sclae edilebiliyor.)
--Login senaryoları data driven olarak InvalidLoginAttemptScenarios.csv dosyasından alınarak koşuluyor. Son senaryoda hata alınıyor.
--Hata oluştuğunda screenshot kaydediliyor.
--Test koşumu tamamlandıktan sonra oluşturulan csv dosyaları, screenshot ve test raporu(html) mail atılıyor.
--Scroll edildiğinde gelen imajların yüklenme süreleri ve response code'larını yakalayabilmek için BrowserMobProxy kütüphanesini kullandım.
Bu kütüphane browser'ın önüne proxy koyup tüm trafiği dinliyor. Fakat bu proxy'nin remote'ta çalışması için standalone proxy server kurmadım. Scroll load time senaryosu yalnızca lokalde çalışıyor.
--Testleri lokalde çalıştırabilmek için local isimli branchi kullanılmalıdır. Idea'da TestNG plugini kurulduktan sonra, Run > Edit Configurations.. > Add new Configuration > Test kind > Suite seçildikten sonra Suite xml alanından proje rootundaki testNg.xml suite'i seçilir. TestNG isimli Maven profilinin test goal'u çalıştırılır.
-
Notifications
You must be signed in to change notification settings - Fork 0
aefluke/selenium-automation
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published