![](/content/images/uploads/originals/alex-knight-2EJCSULRwC8-unsplash,410.jpg)
SikuliX Test Otomasyon Aracı
Merhabalar,
Okumakta olduğunuz yazıda sizlere SikuliX test aracının ne işe yaradığını, kullanım alanlarını, ne gibi avantajlar ya da dezavantajlar sağlayabileceğini ve SikuliX aracının basit bir şekilde kullanımını anlatacağım. Yazdıklarımın SikuliX ile ilgilenen kişilerin işine yarayacağını temenni ediyorum.
Dilerseniz başlayalım!
SikuliX Nedir?
SikuliX Windows, Mac ya da Linux üzerinde çalışabilen bir Java masaüstü uygulamasıdır. Program OpenCV tarafından desteklenen görüntü tanımayı kullanmaktadır.
SikuliX Hangi Yazılım Dillerini Desteklemektedir?
Program Python, Ruby, JavaScript dillerini kullanmaya olanak sağlamaktadır.
SikuliX Hangi Amaçla Kullanılmaktadır?
GUI üzerindeki fonksiyonel ya da fonksiyonel olmayan özelliklerin test otomasyonlarını hazırlamak ve bu testleri program üzerinde otomatik bir şekilde koşmak için kullanılır.
Hangi Durumlarda SikuliX kullanmak Avantajlıdır?
Ara yüz üzerinde işlem yapılmak istenen uygulamanın ya da web sayfasının kaynak koduna erişimin mümkün olmadığı durumlarda SikuliX kullanmak avantajlıdır.
Hangi Durumlarda SikuliX kullanmak Dezavantajlıdır?
Program görsel tanıma üzerine çalıştığı için ara yüz üzerinde sürekli değişiklik yapılan bir projede SikuliX kullanmak dezavantaj yaratabilir.
SikuliX IDE Nasıl İndirilir?
SikuliX IDE’yi indirmek ve kullanıma hazır hale getirmek son derece kolaydır. Programın kendi internet sitesi olan http://sikulix.com/quickstart/ üzerindeki adımları takip edebilirsiniz.
SikuliX IDE Kullanımı ve Başlıca Komutları?
SikuliX IDE’yi açmak için indirmiş olduğumuz jar dosyasına tıklıyoruz ve programı açıyoruz.
Daha önce de belirttiğim üzere program görsel tanıma ile çalışmaktadır. Bu nedenle yazacağımız komutların içerisine bir görsel öğe eklememiz gerekiyor. IDE üzerinden ekran görüntüsü almak için iki tane yol bulunmaktadır.
İkonuna tıklayarak
- Klavye üzerinde Ctrl + Shift + 2 tuşlarına basarak
Ekran görüntüsü seçim ekranı açıldığında ekranda bir karartı oluşur. Görüntü alınacak alan imlecin sol click tuşuna basılı tutularak seçilir. Seçim işlemi bittiğinde aldığımız ekran görüntüsü IDE üzerinde görüntülenir.
Yazılan kod satırlarını çalıştırmak için ikonuna tıklanır. Programın başarılı bir şekilde çalışması için ekranda testini yapacağımız programın ya da web sayfasının açık olduğunu kontrol etmeyi unutmayın. Aksi takdirde seçmiş olduğunuz görsel öğeleri bulamadığı için program hata mesajı verecektir. Programın tamamlanmasını beklemeden durdurmak istediğinizde ise Alt + Shift + C tuşlarına basabilirsiniz.
Programda en çok kullanılan komutları aşağıda listeledim.
- Mouse Actions
- click
- doubleClick
- rightClick
- hover
- dragDrop
- Find
- find
- find all
- wait
- waitvanish
- exists
- Keyboard Actions
- type
- paste
click():
Click komutu ekran görüntüsü aldığımız öğeye Mouse üzerinden bir kez sol tık işlemi yapmamızı sağlar. Öğenin bulunabilmesi için ekran görüntüsünün düzgün bir şekilde alınmış olması önemlidir. Eğer ekran görüntüsünü tıklayacak öğe olarak tanıyamazsa program hata mesajı verip çalışmayı durduracaktır.
doubleClick():
DoubleClick komutu ekran görüntüsü aldığımız öğeye Mouse üzerinden iki kez sol tık işlemi yapmamızı sağlar. Öğenin bulunabilmesi için ekran görüntüsünün düzgün bir şekilde alınmış olması önemlidir. Eğer ekran görüntüsünü tıklayacak öğe olarak tanıyamazsa program hata mesajı verip çalışmayı durduracaktır.
rightClick():
RightClick komutu ekran görüntüsü aldığımız öğeye Mouse üzerinden sağ tık işlemi yapmamızı sağlar. Öğenin bulunabilmesi için ekran görüntüsünün düzgün bir şekilde alınmış olması önemlidir. Eğer ekran görüntüsünü tıklayacak öğe olarak tanıyamazsa program hata mesajı verip çalışmayı durduracaktır.
hover():
Hover komutu imleci ekran görüntüsü aldığımız öğenin üstünde tutmak için kullanılır. Aşağıdaki örnekte program çalıştırıldığında imleç Instagram logosunun logosunun üzerine götürülmektedir.
dragDrop():
DragDrop komutu ilk seçilen öğenin ikinci seçilen öğeye kadar sürüklenip bırakılması için kullanılıyor. Aşağıdaki örnekte görüldüğü üzere scroll bar seçilerek sayfanın en altına kadar sürüklenip bırakılması sağlanmıştır.
find():
Find komutu ekran üzerinde görüntüsünü aldığımız öğenin bulunması istenildiği durumlarda kullanılır. Aşağıdaki görselde find komutunun kullanılışını görebilirsiniz. Eğer görsel sayfa içerisinde bulunursa program başarılı mesajı verir. Ancak görsel sayfa içerisinde bulunamazsa program hata mesajı verip çalışmayı durduracaktır. Komutu “not find()” şeklinde yazarak bulunması istenmeyen bir görsel öğe için kullanabilirsiniz. Bu durumda görsel öğenin bulunması durumunda program hata mesajı verip çalışmayı durduracaktır.
findAll():
Find komutunda olduğu gibi ekran görüntüsü alınan öğenin sayfa içerisinde bulunmasını sağlar. Find komutundan farkı ise find komutunda ögeyi ilk bulduğunda program çalışmayı tamamlarken findAll komutunda ekrandaki aynı görsel öğelerin tamamını bulmasıdır. Kullanılışını aşağıdaki örnek üzerinde inceleyebilirsiniz.
wait():
Wait komutu girilen süre boyunca programın hiçbir aksiyon almadan beklemesini sağlar. Süre sonunda kalan komutlar sırasıyla koşulmaya devam eder.
waitVanish():
WaitVanish komutunda seçilen görsel öğe belirlenen süre boyunca ekranda durursa program hiçbir aksiyon almadan bekler. Eğer seçilen görsel öğede değişiklik olursa ya da girilen süre son bulursa program kalan komutları sırasıyla koşmaya devam eder.
exists():
Exists komutu seçilen görsel öğenin ekrandaki görünürlüğünü kontrol eder. Eğer öğe ekranda görüntülenirse program sırasıyla kalan komutları koşmaya devam eder. Eğer bir görsel öğenin ekranda görüntülenmesi istenmiyorsa “not exists()” şeklinde yazılabilir. Bu durumda görsel öğe ekranda görünmüyorsa program sırasıyla kalan komutları koşmaya devam eder.
type():
Type komutu text alanlarına klavye girişi yapılabilmesini sağlar. Aşağıdaki örnek üzerinde nasıl kullanıldığını inceleyebilirsiniz. Daha detaylı bilgi almak için “https://sikulix-2014.readthedocs.io/en/latest/keys.html “ linkine göz atmanızı öneririm.
paste():
Paste komutu bir metni tıklanan noktaya yapıştırılmasını sağlar. Aşağıdaki örnekte text yazısının arama barı içerisine yapıştırıldığını ve daha sonra giriş tuşuna basıldığını görebilirsiniz.
Umarım yazdıklarım SikuliX otomasyon aracına ilgi duyan kişilerin işine yarar.
Herkese çalışmalarında kolaylıklar dilerim.
Kaynakça
http://doc.sikuli.org/index.html
https://sikulix-2014.readthedocs.io/en/latest/keys.html
https://www.scribd.com/doc/87618834/sikuli-detailed-Doc
http://sikulix.com/quickstart/
BURAK CANBAZ