Action Oluşturma ve Yönetimi
Action, SmartestQA'da web sayfasıyla etkileşimin temel yapı taşıdır. Bu rehberde Chrome Plugin ile element yakalama, action türleri, selector best practices ve Action Library yönetimini detaylıca öğreneceksiniz.
Action Nedir?
Action, web sayfasında gerçekleştirilen tekil bir işlemdir. Bir butona tıklama, bir forma yazı yazma, dropdown'dan seçim yapma gibi kullanıcı etkileşimlerinin her biri bir action'dır.
Tekrar Kullanılabilir
Bir kez oluştur, her yerde kullan
Kod Gerektirmez
Görsel olarak oluşturulur
Merkezi Yönetim
Güncellemeler otomatik yansır
Action vs Step: Fark Nedir?
Action = Action Library'de tanımlanan tekrar kullanılabilir bileşen
Step = Testcase içindeki sıralı adım
Bir action'ı birden fazla testcase'de step olarak kullanabilirsiniz. Action güncellendiğinde tüm testcase'lerdeki ilgili
step'ler otomatik güncellenir.
Chrome Plugin Kurulumu
SmartestQA Chrome Plugin, web elementlerini yakalamak ve action oluşturmak için kullanılır. Kurulum 2 dakika sürer.
Chrome Web Store'a Git
Chrome Web Store'da "SmartestQA" aratın veya bu linke tıklayın.
Chrome'a Ekle
"Chrome'a Ekle" butonuna tıklayın ve izinleri onaylayın.
Plugin'e Giriş Yap
Araç çubuğundaki SmartestQA ikonuna tıklayın ve hesabınızla giriş yapın.
Hazır!
Plugin aktif. Artık element yakalamaya başlayabilirsiniz.
Action Kaydetme (Record Actions)
Record Actions özelliği, canlı bir web sayfasındaki tüm etkileşimlerinizi otomatik olarak kaydetmenizi sağlar. SmartestQA Chrome Uzantısı arka planda sessizce çalışır; her tıklama, giriş ve gezinme işlemini — ekran görüntüleriyle birlikte — doğrudan projenize kaydeder.
Actions Sayfasında URL Seçin
Action Listesi sayfasında, üst araç çubuğundaki açılır menüden ortamınızı ve Başlangıç Sayfa URL'sini seçin.
"Record Actions" Butonuna Tıklayın
Sağ üst köşedeki "+ Record Actions" butonuna tıklayın. Seçilen URL otomatik olarak yeni bir tarayıcı sekmesinde açılır.
Sayfayla Etkileşime Geçin
Sayfada normalde yaptığınız gibi işlemler gerçekleştirin — butonlara tıklayın, formları doldurun, sayfalar arasında gezinin. Chrome Uzantısı, akışınızı kesmeden tüm etkileşimleri arka planda kaydeder. Ekranın sağ alt köşesinde kayıt işleminin aktif olduğunu gösteren bir bildirim görüntülenir.
Sekmeyi Kapatarak Kaydı Bitirin
İşlemleriniz bittiğinde tarayıcı sekmesini kapatmanız yeterlidir. Kayıt otomatik olarak durur ve tüm yakalanan action'lar — her adım için ekran görüntüleriyle birlikte — projenizin Action Library'sine kaydedilir.
Neler kaydedilir?
- Her tıklama, yazma, seçme ve gezinme etkileşimi
- Her etkileşim adımında alınan ekran görüntüsü
- Sayfa bağlamından otomatik türetilen sayfa adı ve action adı
- Otomatik algılanan action türü (Click, Get, Check, vb.)
Manuel Oluşturma (Form)
Create Action formunu kullanarak action'ları manuel olarak da oluşturabilirsiniz. Element'in locator bilgilerini önceden bildiğinizde veya tarayıcı oturumu açmadan action oluşturmak istediğinizde kullanışlıdır.
"Record Actions" butonunun yanındaki açılır ok'a tıklayın ve "Manuel Oluşturma (Form)"'u seçerek Create Action iletişim kutusunu açın.
Action Bölümü
Sayfa Adı (Page Name)
Bu action'ın ait olduğu sayfa veya modül. Action'ları kütüphanede düzenlemek için kullanılır
(örn. login, anasayfa, odeme).
Action Türü (Action Type)
Açılır menüden action türünü seçin (örn. Click, Type, Get, Check, Navigate). Test case'de çalıştırıldığında action'ın ne yapacağını belirler.
Action Adı (Action Name)
Action için açıklayıcı bir ad. Action'ın ne yaptığını tanımlayan anlamlı isimler kullanın
(örn. Login Butonuna Tıkla, Email Alanına Yaz).
Action Detayı — element locator'larını tanımlayın
Action Detayı bölümü, sayfadaki elementi bulmak için kullanılan locator'ları tanımlar. Her satır bir locator stratejisini temsil eder. Yedek locator eklemek için "+ Add Action Detail"'a tıklayın.
Tag Name
HTML element türü (örn. button, input, a, span).
Key
Selector türü: xpath, css, id, name, linkText vb.
Value
Gerçek selector değeri (örn. //button[@id='login'] veya #login-btn).
Örnek: "Login Butonuna Tıkla" Action'ı Oluşturma
loginClickLogin Butonuna Tıklabuttonxpath//button[@data-testid='login-submit']Kaydet
Action'ı Action Library'nize eklemek için "Save" butonuna tıklayın. Action, herhangi bir test case'de adım olarak kullanılmaya hemen hazır olacaktır.
Action Türleri
SmartestQA'da 17+ action türü bulunur. En sık kullanılanlar:
Click
Elemente tıklama. Buton, link, checkbox, radio button için.
DoubleClick, RightClick varyantları
Type
Input, textarea'ya metin yazma. Clear + Type seçeneği.
{{param}} veya ${data} destekler
Select
Dropdown'dan seçim. Value, Text veya Index ile.
Multi-select destekli
Hover
Mouse'u elementin üzerine getir. Dropdown menü, tooltip için.
MoveToElement
Navigate
URL'ye git, geri/ileri, refresh. Sayfa navigasyonu.
GoToUrl, Back, Forward, Refresh
JavaScript
JavaScript çalıştır. DOM manipülasyonu, custom logic.
return değeri parametre olur
Get
Elementten değer, metin veya attribute alma.
GetText, GetAttribute, GetValue
Assertion
Beklenen değer doğrulama. Text, attribute, URL kontrolü.
Equals, Contains, NotEquals
VisibilityCheck
Elementin sayfada görünür veya gizli olup olmadığını kontrol et.
isDisplayed, isEnabled, isSelected
Python
Python script çalıştır. Özel logic ve veri işleme.
return değeri parametre olur
Diğer Action Türleri +7
AI
AI destekli test adımı oluşturma. Doğal dil ile komut verme.
Prompt tabanlı action oluşturma
ApiRequest
HTTP istek gönder. REST API testi ve doğrulama.
GET, POST, PUT, DELETE
JDBC
Veritabanı işlemleri. SQL sorgusu çalıştır ve veri doğrula.
SELECT, INSERT, UPDATE, DELETE
GlobalParam
Global parametre ata veya al. Test adımları arası veri paylaşımı.
SetGlobalParam, GetGlobalParam
JMeter
Performans testi. JMeter test planı yükle ve çalıştır.
.jmx dosya yükleme
E-posta işlemleri. OTP çıkarma, link yakalama, gönderme/alma.
ExtractOtp, ExtractLink, Send, WaitFor
BrowserCommands
Tarayıcı seviyesi komutlar. Tarayıcı durumunu kontrol et.
Tarayıcı kontrol işlemleri
Selector Türleri
Selector, web sayfasında elementi bulmak için kullanılan adrestir. Doğru selector seçimi test stabilitesi için kritiktir.
XPath
En esnek selector türü. Element hiyerarşisi, attribute'lar, text içeriği ile arama yapabilir.
ID ile:
//input[@id='email']
Class ile:
//button[@class='btn-primary']
Text içeriği ile:
//button[text()='Giriş Yap']
Kısmi text ile:
//a[contains(text(),'Devam')]
data-testid ile (Best Practice):
//button[@data-testid='login-button']
CSS Selector
CSS syntax'ı kullanır. XPath'tan daha hızlı çalışır ama daha az esnek.
ID ile:
#email
Class ile:
.btn-primary
Attribute ile:
input[type='email']
Child element:
form.login-form > button
ID
En hızlı ve stabil. Benzersiz olmalı.
id="login-button"
Name
Form elementleri için yaygın.
name="username"
LinkText
Link'in tam text'i ile bulma.
"Şifremi Unuttum"
PartialLinkText
Link text'in bir kısmı ile.
"Şifremi"
Action Kütüphanesi
Action Kütüphanesi, tüm action'larınızın merkezi deposudur. Sol menüden Action seçeneğine tıklayarak erişebilirsiniz.
Arama
İsim veya tag ile filtrele
Kategoriler
Modül bazlı grupla
Düzenleme
Selector, parametre güncelle
En İyi Uygulamalar
data-testid Kullanın
Development ekibinizle koordine edin. data-testid attribute'u ekleyin. Bu, UI değişikliklerinden
etkilenmeyen stabil selector sağlar.
Relative XPath Tercih Edin
//html/body/div[1]/div[2]/form/button yerine
//form[@id='login']//button[@type='submit'] kullanın.
Anlamlı İsimlendirme
Click_Action_1 yerine
Click_Login_Submit_Button kullanın.
Index Bazlı Selector'dan Kaçının
//div[3]/button[1] gibi index'ler DOM değişikliğinde kırılır. Attribute bazlı selector tercih edin.
Sorun Giderme
Element bulunamıyor (NoSuchElementException)
Olası nedenler:
- Selector yanlış veya güncellenmiş
- Element henüz yüklenmemiş (Wait ekleyin)
- Element iframe içinde (SwitchFrame ekleyin)
- Element başka bir pencerede (SwitchWindow ekleyin)
Stale Element Reference hatası
Çözüm:
- Action'dan önce Wait for Element Visible ekleyin
- Page refresh sonrası elementi tekrar yakalayın
- Daha stabil selector kullanın
Element tıklanamıyor (ElementClickInterceptedException)
Çözüm:
- Scroll to Element ekleyin
- Overlay/popup kapatın
- Wait for Element Clickable kullanın
- JavaScript click deneyin
Sık Sorulan Sorular
Action nedir, ne işe yarar?
Action, web sayfasında gerçekleştirilen tekil bir işlemdir. Bir butona tıklama (Click), bir input'a yazma (Type), dropdown'dan seçim yapma (Select) gibi temel web etkileşimleridir. SmartestQA'da action'lar kod yazmadan oluşturulur ve testcase'lerde step olarak kullanılır.
XPath ve CSS Selector arasındaki fark nedir?
XPath daha esnek ve güçlüdür - parent-child ilişkileri, text içeriği ile arama yapabilir. CSS Selector daha hızlı çalışır ama daha sınırlıdır. Karmaşık durumlarda XPath, basit durumlarda CSS Selector tercih edin.
Dinamik element nasıl yakalanır?
1) Relative XPath kullanın
2) Sabit attribute'ları hedefleyin (data-testid, aria-label)
3) contains(), starts-with() fonksiyonlarını kullanın
4) Birden fazla attribute kombinasyonu yapın
iframe içindeki elemente nasıl erişilir?
1) Önce SwitchFrame action ekleyin
2) iframe içindeki action'ları ekleyin
3) Ana sayfaya dönmek için SwitchToDefaultContent action ekleyin
Wait action türleri nelerdir?
1) Wait for Element Visible - Element görünür olana kadar bekle
2) Wait for Element Clickable - Element tıklanabilir olana kadar bekle
3) Wait for Element Present - Element DOM'da olana kadar bekle
4) Wait for Text - Belirli metin görünene kadar bekle
5) Static Wait - Sabit süre bekle (önerilmez)