Katalon Studio ile Test Otomasyonuna Hızlı Bir Giriş
Test otomasyonu ile ilgilenen herkese merhaba :) Bu yazımda sizlere Katalon Studio ile web projelerinizi nasıl test edebilirsiniz ve test otomasyonuna nasıl hızlı bir giriş yapabilirsiniz bunlardan bahsedeceğim.
Öncelikle Katalon studio hakkında genel bilgi edinmek için bu makaleyi okumanızı tavsiye ederim. Sonrasında ise Katalon’un resmi sitesine ücretsiz üye olarak deneme sürümünü indirip işe koyulabilirsiniz. 30 gün sonunda ise bazı özellikler haricinde Katalon Studio’yu ücretsiz olarak kullanmaya devam edebilirsiniz.
Hadi o zaman hızlı bir giriş yapalım :) Yeni bir proje oluşturarak başlıyoruz. Web UI testi yapacağımız için tipini Web seçip, projemizi isimlendirip kaydediyoruz.
Ana menu den File-New Test Case yolu ile ya da Test Cases’e sağ click yapılarak açılan menüden New-Test Case yolu ile test senaryomuzu isimlendirerek kaydedebiliriz.
Boş bir test senaryosu oluştu. Bundan sonra ise test scriptlerini oluşturmak için 2 yöntem kullanabiliriz.
- Yöntem olan Record özelliği ile uygulamayı açar ve manuel test ediyormuş gibi ekranda ilgili işlemleri yaparak, bu hareketlerin arka tarafta otomatik olarak scriptlerinin oluşmasını sağlayabiliriz.
- Yöntem olan Object Spy özelliğini kullanarak ekrandaki objeleri sisteme kaydeder ve bu objeleri kullanarak scriptlerini manuel olarak yazabiliriz.
1.Yöntem: Record & Run
Menuden Record Web butonuna bastığımızda Web Recorder araç çubuğu açılır. Test edeceğimiz URL i girip Record butonuna basıyoruz. Bu aşamada eğer kurulu değilse chrome ’a bir extension kurulması gerektiği ile ilgili uyarı veriliyor. İlgili extension’ı kurduktan sonra url in chrome tarayıcısında açıldığı görülebilir.
Normal bir kullanıcı gibi sayfada yapmak istediğimiz işlemleri sırasıyla yaptığımızda recorder tarafından da scriptlerin bir taraftan oluştuğunu gözlemleyebiliriz.
Oluşan scriptlerden de anlaşılacağı gibi önce tarayıcı açılır, verilen url’e gidilir, Make Appointment butonuna tıklanır, kullanıcı adı şifre girilerek Login butonuna basılır. Buraya kadar yapılan işlemler ile uygulamaya giriş yapılır. Bu aşamada uygulamaya giriş yapıldığını ve testimizin başarılı bir şekilde tamamlandığını anlayabilmemiz için bir kontrol mekanizması eklemeliyiz. Örneğin giriş yapıldıktan sonraki ekranda yer alan bir objenin varlığını kontrol edebiliriz. Tabii ki bu obje, login olunmadan önceki ekranda var olmayan bir obje olmalı ki başarılı giriş yapılabildiği bu objenin varlığı ile ispatlanabilsin.
Kontrol etmek istediğimiz objenin üzerine sağ tıklayıp Katalon Studio>Verify Element Present linkine tıklayarak test scriptlerine bu kontrolün de eklenmesini sağlayabiliriz. Açılan menude kullanabileceğimiz pek çok kontrol yöntemi var, onları da deneyebilirsiniz.
Login testi için yapacağımız kontroller tamamlandıysa Save Script butonu ile test case imizi kaydedebiliriz.
Kaydet dediğimizde; ekranda yer alan ve scriptler içerisinde kullanılan objelerin listelendiği ve Object Repository ye ekleneceği bir popup açılır. Burada test senaryosu ile ilişkilendireceğimiz yeni bir klasör oluşturarak objeleri kaydedebiliriz. Ben ekran ile aynı isimde bir klasör oluşturup bu ekranda yapılan testler için kullanılan objeleri bu klasöre eklemeyi tercih ediyorum.
Objeleri de ekledikten sonra test senaryosunu kaydediyoruz. Eklediğimiz tüm scriptler test senaryosunun içerisinde adım adım görüntüleniyor.
Ve testimizin çalıştığını kontrol etmek için Run butonuna basıyoruz.
Test çalışmaya başladığında kaydedilen işlemlerin sırasıyla yapıldığı ve sonuçlarının kaydedildiği görülebilir. Herhangi bir aşamada hata alınmış ise de detayları yine logda yer alır.
2.Yöntem: Object Spy
Record & Run özelliği ile hızlı ve kolay bir şekilde testimizi oluşturduk. Şimdi de bir diğer yöntem olan Object Spy yöntemini kullanarak test scriptleri oluşturalım. Yeni bir test senaryosu da oluşturabiliriz ya da mevcut senaryomuza yeni adımlar da ekleyebiliriz.
Menuden Spy Web butonuna bastığımızda Object Spy ekranı açılır. Test edeceğimiz ekranın URL ini girip Start butonuna bastığımızda browserın açıldığını görürüz.
Ekranda yer alan objeler üzerinde gezinirken objeler kırmızı çerçeve ile belirgin hale gelir. Kullanmak istediğimiz objenin üzerinde sağ click ile açılan menuden Capture Object butonuna tıklıyoruz.
Capture edilen objenin özellikleri Object Spy ekranında görüntülenir. Selection Method alanında XPath seçilmesi durumunda ekranda objenin xpath bilgileri yer alır.
Selection method: Attributes seçilmesi durumunda ise objenin kendine öz nitelikleri ekranda gösterilir.
Object spy aşamasında default locator’ı Attributes olarak belirleyebiliriz. Bunun için Project > Settings > Test Design > Web UI alanında Attributes seçilmesi yeterli olacaktır.
Objenin doğru seçildiğini ve tekilliğini kontrol etmek için kaydetmeden önce mutlaka Verify and Highlight butonuna basmalıyız. Eğer doğru objeyi işaret ediyorsa Save butonu ile objeyi kaydedebiliriz.
Objenin object reporsitory’ye eklendiği görülür. Kaydedilen objenin üzerine çift tıkladığımızda objenin özellikleri açılır. Güncellemek istenirse buradan da objenin özellikleri değiştirilerek kaydedilebilir.
Objeyi kaydettik peki nasıl kullanacağız? Bu kısımda biraz script yazmaktan bahsedelim. Editörde scriptlerimizi Manual ya da Script modda oluşturabiliriz.
Test senaryomuz açıkken Manual editöründe menuden Add>Web UI Keyword seçtiğimizde yeni bir satır eklenir. Burada kullanacağımız objeye vereceğimiz komutu seçmeliyiz. Örneğin bir butona tıklamasını istiyorsak click komutunu eklemeliyiz.
Object seçim alanında ise bizim object repository’mizde yer alan objelerden testimiz için gerekli olan seçip kaydediyoruz.
Böylelikle manual olarak eklediğimiz objeyi yine manual komutlar vererek test adımlarına eklemiş olduk.
Aynı işlemi script modda yapmak istersek editörün alt tarafında yer alan Script sekmesine geçmeliyiz. Bu görünümde, test senaryomuza record özelliği ile ya da manual olarak eklediğimiz adımların scriptlerini görebiliriz.
Ekranda da göreceğiniz gibi UI testi için oluşturduğumuz scriptler WebUI anahtar kelimesi ile başlıyor. “WebUI.” yazdığımızda kullanabileceğimiz keywordler listelenir. Herhangi birinin üzerine geldiğimizde gönderilmesi gereken parametreleri ve sonuç olarak ne döndürdüğünü de görebiliriz.
Kullanacağımız keywordu seçip (Örneğin setText) enter’a basıyoruz.
Seçtiğimiz setText keywordu bir objeye text veri girmeyi sağlıyor. Bunun için gerekli olan objeyi object reporsitory mizden sürükle bırak yöntemiyle keywordun içerisine ekliyoruz. Ekrandan girilecek veriyi de ‘ ’ içerisinde yanına ekliyoruz. Böylece manual olarak bir test adımını Script modunda eklemiş olduk.
Benim en çok kullandığım keywordler; click, setText, openBrowser, closeBrowser, navigateToUrl, verifyElementPresent, sendKeys, selectOptionByValue ve delay oldu. İhtiyaca yönelik olarak kullanacağınız keywordler hakkında detaylı bilgiyi Katalon’un online dokümanında Keywords>Web UI Keywords altında bulabilirsiniz.
Object Spy yöntemiyle de bu şekilde test scriptlerimizi kolaylıkla oluşturabiliriz. Bazen record ederek oluşturduğumuz test scriptlerinde manual olarak eklemeler, düzenlemeler yapmak için de, sıfırdan bir test senaryosu oluşturmak için de bu yöntemi kullanabiliriz. Test scriptlerini oluşturduktan sonrası ise aynı, Play tuşuna basıyoruz ve testimizin çalışırlığını kontrol ediyoruz.
Sonuç olarak; bu yazımda sizlere Katalon Studio kullanarak testlerimizi en hızlı, en basit yollarla nasıl otomatize edebiliriz bunu anlatmaya çalıştım. Umarım faydalı olmuştur. Sonraki yazılarımda ise Katalon Studio’nun diğer özelliklerinden bahsedeceğim. Şimdilik hoşça kalın :)