Sikuli-2
Merhabalar,
Bu yazıyı okumadan önce Sikuli-1'i okumalısınız. Önceki yazıda sikuli.app üzerinden çalışmıştık. Bu yazıda ise sikuliAPI ve IntelliJ üzerinden işlemlerimizi yapacağız. Bunun bize yararı ise Selenium ve Sikuli’yi beraber kullanabiliyor olacağız. Fakat bu işlemi üçüncü yazıya bırakalım. Bu arada yazıdaki işlemleri Windows ile yapıyor olacağım çünkü MacOS’ta aldığım ekran fotoğraflarının boyutları hakkında bir sorun oluyor. Hadi başlayalım :)
Öncelikle IntelliJ’de maven-quickstart bir proje oluşturalım. Proje oluştuğunda “Enable auto-import”a tıklayalım. Yapılan bu proje oluşturma işlemini ilk yazılarımdan Selenium’da anlatmıştım buradan yardım alabilirsiniz.
Projeyi oluşturduktan sonra proje dosyanıza sağ tıklayıp → New → Directory ve ardından adını libs olarak koyalım :
libs’i oluşturduktan sonra Sikuli-1'de yüklediğimiz dosyalardan sikulixapi.jar’ı kopyalayalım ve libs’e yapıştıralım. Yapıştırdıktan sonra :
libs’e sağ tıklayalım ve “Add as Library…” e tıklayalım. Ardından gelen ekranda :
Herhangi bir şey değiştirmeden OK ile devam edelim. Şimdi File → Project Structure’a gelelim :
Modules kısmına geldikten sonra Dependencies altında gelen libs’in başındaki checkBox’ı aktif hale getirdikten sonra Apply ve OK diyerek çıkalım.
Get Semih Saydam’s stories in your inbox
Join Medium for free to get updates from this writer.
Kurulumlarımız tamamladı. Şimdi öncelikle basit bir iş ile başlayalım. Windows + E ‘e tıklayarak bilgisayarım’ı açalım. Ardından soldaki sekmelerden Music’e tıklayalım. Ardından New folder’a tıklayarak yeni bir klasör oluşturalım ve adını da yazdırdıktan sonra Enter’a tıklatalım. Bu kısa iş için öncelikle tıklanacak yerlerin fotoğrafları bize lazım. Music ve New folder’ın fotoğraflarını Snipping Tool ile alalım :
Music kısmına tıklatabilmek için onun fotoğrafını aldık. Ardından Music’e tıkladıktan sonra gelen yeni klasör açmak için olan kısmın fotoğrafını alıyoruz :
Ardından bu fotoğrafları src → main → resources içine atalım :
Görüntü tanıma ve görüntü işleme algoritmalarının bulacağı fotoğraflarımızı da aldık. Şimdi App java class’ımıza gelelim :
Kodlarınızı yazdıktan sonra doğru Pattern’i import edip etmediğinize dikkat edelim(4 nolu satır). Öncelikle sikuli’nin pattern sınıfı ile image’lerimizi tanımladık. Ardından Screen komutlarıyla Windows + E ‘ye bastık. Bastıktan sonra çekmemiz gerekiyor keyUp ile de bunu yaptık. Ardından wait().click(); komutlarıyla Music simgesinin bulunmasını ve tıklanmasını gerçekleştirdik. Screen.type(“”) ile yazı yazdık. Bu yazı yazma işlemi yeni klasörümüze isim veriyor olacaktır. Çalıştıralım ve görelim :
Görüntü kalitesi biraz düşük bunun sebebi telefondan kayıt almam. Windows’ta hızlı ekran kaydı alamadığım için böyle oldu. Bu seferlik affedin :)
Sonraki yazıda ise Selenium webDriver ile bir web otomasyona başlayacağız. Web sitesinden çıkılıp windows penceresi açılan yerlerde(mesela siteye fotoğraf upload etme gibi) Sikuli’den yararlanacağız. Sonraki yazıda görüşmek üzere,
Mutlu günler dilerim :)
Kaynakça : https://www.youtube.com/channel/UCmjoNIjXM8DAPCE8-G-WWBg/playlists







