20 dakika Test Design Temel Kavram

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.

1

Chrome Web Store'a Git

Chrome Web Store'da "SmartestQA" aratın veya bu linke tıklayın.

2

Chrome'a Ekle

"Chrome'a Ekle" butonuna tıklayın ve izinleri onaylayın.

3

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.

Chrome Plugin Ekran Görüntüsü

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.

1

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.

2

"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.

3

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

Sayfa Adı:login
Action Türü:Click
Action Adı:Login Butonuna Tıkla
Tag Name:button
Key:xpath
Value://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

Mail

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.

ÖNERİLEN

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']
HIZLI

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

Action Library Ekran Görüntüsü

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)

İlgili Konular