Sitemap
Semih Saydam

Semih Saydam

QA / DevOps Engineer — Be happy :)

Sikuli-2

3 min readMay 3, 2020
Press enter or click to view image in full size

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 :

Press enter or click to view image in full size

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 :

Press enter or click to view image in full size

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 :

Press enter or click to view image in full size

Ardından bu fotoğrafları src → main → resources içine atalım :

Press enter or click to view image in full size

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 :

Press enter or click to view image in full size

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 :)

Press enter or click to view image in full size

Kaynakça : https://www.youtube.com/channel/UCmjoNIjXM8DAPCE8-G-WWBg/playlists

--

--

Semih Saydam
Semih Saydam

Written by Semih Saydam

QA / DevOps Engineer — Be happy :)