
Kurs müfredatı ve ilerleyişi hakkında bilgilendirici bir video
Yazılım kalite güvencesi ve testi kavramına güzel bir giriş yapıyoruz.
Kullanacağımız programlama dilinin kurulumu ve kodlarımızı yazacağımız program hakkında açıklayıcı bir makale.
Java programlama dilini çalıştırabilmek için gerekli olan JDK dosyalarını bilgisayarımıza kuruyoruz.
Yazacağımız Java kodunu düzgün bir ortamda yazabilmek ve çalıştırabilmek için gerekli olan programı yani IDE'mizi kuruyoruz.
Yazılım test otomasyonu oluşturabilmek için Java programlama dilini kullanmamızın başlıca nedenleri nelerdir?
Netbeans IDE ile bir java projesi oluşturmayı öğreniyoruz.
Java programlama dilini kullanarak console ekranında ilk çıktımızı yazdırıp yazılım dünyasına merhaba diyoruz.
Java programlama dilinde kullanılan değişkenlerin bizim için ne ifade ettiğini konuşarak örnekler yapıyoruz.
Farklı değişken tiplerinin ne için kullanıldığını öğreniyoruz.
Kullanıcının klavyesinden bir veri almayı ve bu veriyi nasıl işleyebileceğimizi öğreniyoruz.
Karar ifadelerini öğreniyoruz.
Karar ifadelerini öğreniyoruz.
Genellikle belirli sayıda belirli bir işlem yaptırılmak istenildiğinde kullanılan döngü çeşidi olan for döngüsünü öğreniyoruz.
bir şarta bağlı olarak çalışan döngü çeşidi yani while döngüsünü öğreniyoruz.
bir şarta bağlı olarak çalışan ama çalışmadan önce bir kere çalışan döngü çeşidini yani do-while döngüsünü öğreniyoruz.
Aynı tipte verileri saklamak için kullandığımız yapıları öğreniyoruz.
Java programlama dilinde çokça kullanılan metotları öğreneceğiz.
Çalışabilmesi için bir veriye ihtiyaç duyan metotları öğreniyoruz.
kendisine verilen işlemleri yaptıktan sonra geriye sonuç döndüren metotları öğreniyoruz.
Selenium hakkında bilgi sahibi olabilmek için bu makale aydınlatıcı olacaktır.
Selenium aracını kurarak ilk projemizi yazmaya başlıyoruz
Selenium uygulamasında ilk testi gerçekltirerek sayfa başlığının istediğimiz gibi olup olmadığını kontrol ediyoruz.
Web otomasyon testlerinde elimiz ayağımız olan driver'ın eli ayağı olan driver metotlarını öğreneceğiz.
Web sitesinde bulunan nesnelere nasıl ulaşabileceğimizi ve hangi yolları kullanarak ulaşabileceğimi bu videoda öğreniyoruz.
Web sitelerinde karşılaştığımız her bir nesneyi nasıl yollarla bulabileceğimizi bu devam videosunda öğrenmeye devam ediyoruz.
Bu derste İnput box veya TextBox oalrak isimlendirilen web elementlerine veri girişini otomatik şekilde selenium ile yaptırmayı ve butona tıklattırmayı öğreniyoruz.
Bir grup içerisinde yalnızca bir tanesinin. seçimine izinv eren RadioButton elementinin selenium ile nasıl işaretlenebileceğini öğreneceğiz.
Birden fazla seçimin yapılabildiği checkbox elementlerini selejnium ile nasıl seçebileceğimizi öğreniyoruz.
Selenium kullanarak web sitesi içerisindeki bir resimli linke nasıl tıklanabileceğini öğreniyoruz.
Bu videoda teç seçici ile birden fazla web elementini nasıl seçebileceğimizi ve onu bir listede toparlayarak üzerinde nasıl işlem yapabileceğimizi linktext üzerinden öğreniyoruz.
Parçalı şekilde linktext elementlerini nasıl bulacağımızı öğreniyoruz.
DropDown açılır listelerden element seçtirmeyi Select sınıfını kullanarak öğreniyoruz.
Bu videoda selenium kullanarak mouse ile bir web elementinin üzerine nasıl gelinebileceğini öğreniyoruz.
Selenium ile sürükle bırak işlemlerini bu videoda öğreneceğiz.
Web Sayfası içerisinde bulunan bir web elementine sağ tık işlemini Selenium kullanarak yaptırıyoruz.
Web sitesi içerisindeki bir web elementine çift tıklama işlemini Selenium kullanarak yaptıracağız.
Selenium ile bir web sayfasına nasıl dosya yükleneceğini öğreniyoruz.
Selenium ile web sitesinden bilgisayarımıza bir dosya indirtmeyi öğreniyoruz.
Selenium ile sayfada beliren pop-up mesajlarını nasıl yönetebileceğimizi bu videoda öğreniyoruz.
Wen tarayıcı içerisindeki sekmeleri selenium kullanarak nasıl yönetebileceğimizi bu video ile öğreniyoruz.
Web sayfası içerisindeki tooltip mesajlarının doğru yazılıp yazılmadığını selenium ile doğrulamayı öğreniyoruz.
selenium ile JavaScript kodlarını çalıştırarak sayfadaki web elementlerini bulabilmek için sayfayı aşağı kaydırıyoruz.
Selenium kullanarak web sitesinden bir ekran görüntüsü almayı ve File sınıfı ile bu dosyayı kaydetmeyi öğreniyoruz.
JUnit aracı hakkında temel düzeyde bilgi edinmemize yardımcı olacak bir makale
Bu videoda birim testlerin mantığı hakkında konuşarak kullanacağımız aracı daha iyi anlamaya çalışıyoruz.
Testlerimizi çalıştırmak için gerekli olan JUnit aracını Maven ile nasıl kuracağımızı bu videoda öğreniyoruz.
Bu videoda JUni çalıştırabilmemiz için gerekli anotasyonları (Anotatations) öğreniyoruz
JUnit öğrenebilmek için örnekler yapmaya ve kendimizi geliştirmeye devam ediyoruz.
JUnit aracını öğrenebilmek adına örnekler yapmaya ve öğrendiklerimizi pekiştirmeye devam ediyoruz.
Doğrulama sınıfı olan Assert sınıfının kullanımını ve faydalarını öğreniyoruz.
Önceki videoda öğrendiğimiz Assertion ile ilgili en temelden başlayarak bir örnek yapıyoruz ve daha önce öğrendiklerimizi pekiştiriyoruz.
Belirli bir süre için devre dışı bırakmak istediğimiz test metotları için kullanacağımız Ignore yapısını öğreniyoruz.
JUnit'de timeout kullanımı, bir testin belirli bir süre içinde tamamlanmasını sağlar. Eğer test belirtilen süre içinde tamamlanmazsa, test otomatik olarak başarısız olur. Timeout kullanımı genellikle sonsuz döngüler veya beklenmedik şekilde uzun süren işlemleri engellemek için yararlıdır.
JUnit'de bir test metodunun belirli bir sayıda tekrarlanmasını sağlamak için @RepeatedTest annotasyonu kullanılır. Bu, belirli bir testin istenen sayıda tekrarlanarak çalıştırılmasını sağlar.
Bu annotasyon, bir test metodunu farklı parametre setleriyle tekrar tekrar çalıştırmak için kullanılır. Örneğin, bir metodun farklı girişlerle nasıl davrandığını test etmek istediğinizde kullanışlıdır.
TestNG aracı hakkında temel bilgileri öğrenebilmemiz adına aydınlatıcı bir makale.
TestNG aracını daha detaylı tanıyıp Maven aracılığıyla yeni oluşturduğumuz projemize entegre ediyoruz.
TestNG de bulunan anotasyonları ve hangi sırayla çalıştırıldıklarını bu videoda öğreniyoruz.
TestNG hakkkında öğrendiklerimizi pekiştirmek adına amazon web sitesi üzerinde bir örnek yapıyoruz.
TestNG'de "priority" kavramı, test metodlarının çalışma sırasını belirlemek için kullanılır. Her test metodu, bir öncelik derecesine (priority) sahip olabilir ve bu sayede testlerin belirli bir sırayla veya öncelik sırasına göre çalışması sağlanabilir.
TestNG'de enabled özelliği, bir test metodu veya test sınıfının etkin veya devre dışı bırakılmasını sağlar. Bu özellik sayesinde, belirli testleri isteğe bağlı olarak çalıştırabilir veya atlayabilirsiniz.
description özelliği, bir test metodu veya test sınıfı hakkında açıklama sağlar. Bu özellik, testlerin neyi test ettiğini veya neyi kontrol ettiğini açıklamak için kullanılabilir.
TestNG'de timeout kullanımı, belirli bir test metodunun belirli bir süre içinde tamamlanmasını beklemeyi sağlar. Eğer belirtilen süre içinde test metodu tamamlanmazsa, test başarısız olur. Bu özellik, özellikle testlerin belirli bir süre içinde cevap vermesi gereken durumlarda yararlıdır, böylece testlerin sonsuza kadar beklemesini önler.
invocationCount özelliği, bir test metodu belirli bir sayıda tekrarlanacak şekilde yapılandırılabilir. Bu özellik, bir testin belirli bir durumu tekrar tekrar kontrol etmesi gerektiğinde veya bir yük testi senaryosu oluşturulmak istendiğinde kullanılabilir.
dependsOnMethods özelliği, bir test metodu başlamadan önce belirli başka test metodlarının tamamlanmasını bekler. Bu özellik, testlerin sırasını ve bağımlılıklarını belirlemek için kullanılabilir.
TestNG'de XML dosyası kullanarak test senaryolarını yapılandırmak oldukça yaygındır. XML dosyası, testlerin çalıştırılması için gerekli yapılandırmayı sağlar ve test senaryolarını belirli bir düzende organize etmenize olanak tanır.
Sınıfların gruplanmasında etkili olan paketleri de genel oalrak nasıl çalıştırabileceğimizi bu videoda öğreniyoruz.
include: Belirli test sınıflarını veya test metotlarını belirlemek için kullanılır. Yalnızca belirtilen sınıflar veya metodlar çalıştırılacaktır.
exclude: Belirli test sınıflarını veya test metotlarını atlamak için kullanılır. Belirtilen sınıflar veya metodlar çalıştırılmayacaktır.
TestNG'de groups kavramı, belirli test metotlarını veya test sınıflarını gruplandırmak ve bunları koşullu olarak çalıştırmak için kullanılır. Bu gruplar, test senaryolarını daha iyi organize etmek ve test çalıştırma işlemlerini daha esnek hale getirmek için kullanışlıdır.
TestNG XML dosyasından parametre göndermek için parameter etiketini kullanabilirsiniz. Bu şekilde, testlerinize dinamik olarak değerler iletebilirsiniz.
TestNG'de paralel test çalıştırma işlemi, parallel ve thread-count özelliklerini kullanarak gerçekleştirilir. parallel özelliği hangi testlerin paralel olarak çalıştırılacağını belirlerken, thread-count özelliği ise aynı anda çalıştırılacak test sayısını belirler.
TestNG XML dosyasını kullanarak test raporları oluşturmak için genellikle TestNG'nin HTML raporlama özelliğinden yararlanılır. TestNG, testlerin sonuçlarını HTML raporları olarak sunar ve bu raporlar genellikle testlerin durumunu, geçen süreyi, başarılı ve başarısız test sayılarını, hata ayrıntılarını vb. içerir.
DataProvider, TestNG'nin dinamik veri sağlamak ve parametrik testler oluşturmak için sağladığı bir özelliktir. DataProvider, test metodlarına girdi olarak dinamik veri sağlamak için kullanılır ve aynı test metodu belirli bir veri kümesiyle birden çok kez çalıştırılabilir.
Tabii, bir BaseTest sınıfı oluşturarak @BeforeClass ve @AfterClass metotlarını oraya taşıyabiliriz. Bu yaklaşım, testler arasında paylaşılan başlangıç ve sonlandırma işlemlerini merkezi bir konumda yönetmeyi sağlar.
Soft assertion, bir test senaryosu içinde birden fazla assert ifadesi kullanıldığında, hata alınsa bile testin devam etmesini sağlayan bir yöntemdir. Soft assertion, testin hemen sona ermesini engeller ve tüm assert ifadelerinin sonuçlarını raporlar.
POM mimarisi hakkında daha fazla bilgi edinmemize imkan tanıyan ayrıntılı bir makale.
Nesne tabanlı programlama, yazılım tasarımını işlevler ve mantık yerine, veri veya nesneler etrafında düzenleyen bir programlama dili modelidir. Günümüzde yazılım geliştirme teknolojileri içerisinde büyük bir önem taşır.
Page Object Model (POM) bir yazılım test otomasyonu tasarım desenidir ve web uygulamalarını test etmek için kullanılır. POM, test senaryolarını ve web uygulamasının sayfalarını mantıksal olarak ayrıştırarak bakımı kolay ve yeniden kullanılabilir test senaryoları oluşturmayı amaçlar.
Page Object Model mimarisini kullanarak n11.com alışveriş sitesinde bir otomasyon örneği çalıştırarak öğrendiklerimizi pekiştiriyoruz.
BasePage sınıfı, genellikle test otomasyonu projelerinde kullanılan bir yapıdır. Bu sınıf, proje içindeki tüm sayfa objesi sınıflarının atasıdır. Genellikle web sayfalarındaki ortak işlevleri ve özellikleri içerir.
PageFactory, Selenium WebDriver ile test otomasyonu yaparken kullanılan bir desen veya yardımcı sınıf koleksiyonudur. Bu desen, sayfa nesnelerini otomatik olarak başlatmayı ve yönetmeyi sağlar.
ageFactory deseni, Selenium WebDriver ile test otomasyonu yaparken Page Object Model (POM) ile birlikte kullanılabilir. Bu desenin kullanımı, sayfa nesnelerini otomatik olarak başlatmayı ve yönetmeyi sağlar, böylece test senaryolarını daha basit ve okunabilir hale getirir.
PageFactory deseni ile çoklu web elementlerini seçmek için kullanılabilir. @FindAll annotation'ı, birden fazla locator stratejisi belirtmek ve bu stratejilerden herhangi biriyle eşleşen tüm elementleri bulmak için kullanılır.
Cucumber hakkında ayrıntılı bilgi edinebilmemiz için aydınlatıcı bir makale.
Cucumber Framework'u Maven'a nasıl kuracağımızı ve bu araç hakkında temel bilgileri konuştuğumuz bir video
Cucumber Framework mantığını anlayabilmek adına ufak bir giriş yapıyoruz.
Driver'ı her yerden kullanabilmemiz için başlatıcı ve kapatıcı metotlarımızı bir sınıf içinde topladık.
Cucumber ile Test Login sayfasına POM Page Factory ile bir login testi yazıyoruz.
Aynı senaryoları farklı verilerle çalıştırabilmemize olanak tanıyan Scenario Outline özelliğinin kullanımını öğreneceğiz.
Her senaryo adımından önce çalışacak adımları belirlemenizi sağlayan Background kullanımını bu videoda öğreniyoruz.
TestRunner sınıfı ile neler yapılabileceği ve raporlamalar hakkında konuştuğumuz bir video.
Bu kursun vedalaşma videosu. Bundan sonra ne yapılabilir tarzında bir fikir belirtme videosu.
Web otomasyon testinin geleceği hakkında aydınlatıcı bir makale.
Farklı yazılım testi alanlarıyla alakalı aydınlatıcı ve yol gösterici bir makale.
Web otomasyon testi, web uygulamalarının fonksiyonelliğini ve performansını otomatik olarak test etme işlemidir. Bu, manuel testlerin aksine, test senaryolarını tekrar tekrar çalıştırmak için yazılım araçları kullanmayı içerir.
Sizler için kapsamlı şekilde hazırladığım A’dan Z’ye web otomasyon testi eğitimi sayesinde bu alanda bir uzman olacaksınız! Bu kurs, web otomasyon testi alanında uzmanlaşmak isteyenler için ideal bir kaynaktır. Kurs, Java programlama dilinin temellerini ve Selenium WebDriver'ı kullanarak web otomasyon testleri geliştirmeyi öğretir. Ayrıca JUnit ve biraz daha gelişmişi olan TestNG test çerçevelerini kullanarak testlerin nasıl etkili şekilde çalıştırılacağı ve sonuçlarının nasıl yorumlanacağı da ele alınmaktadır. Profesyonel iş dünyasında kullanılan ve temiz kod yazmamıza imkan veren Page Object Model / Page Factory test mimarileri ile birlikte Cucumber framework'ü entegre ederek ve BDD (Davranış Odaklı Geliştirme) yaklaşımıyla test senaryoları yazma konusu işlenmektedir.
A'dan Z'ye tüm web otomasyon testi kavramlarını ve en güncel araçları kapsayan bir müfredat.
Gerçek hayattan web uygulamaları üzerinde test geliştirme alıştırmaları ve proje çalışmaları.
Uzman ve deneyimli bir eğitmen tarafından laf kalabalığından ve dakika hilelerinden uzak sunulan öz videolar ve kaynaklar.
Her bölümün sonunda öğrendiklerinizi pekiştirecek bitirme testleri.
Sorularınızı sorabileceğiniz ve diğer kursiyerlerle etkileşime girebileceğiniz aktif bir forum.
Önemli bir emeğin sonucu olarak oluşturulan bu eğitimin farkını, müfredatı inceleyerek de görebilirsiniz. İade garantisi ile eğitime kayıt olarak hemen öğrenmeye başlayabilirsiniz! Görüşmek üzere… :)