Reklam · TEST
AdSense Test ReklamıGönderi üstü · Görüntülü

Playwright ile Salesforce Otomasyonunda Genel Locator Sorunu

Salesforce Lightning uygulamalarını Playwright ile otomatize etmek, ilk bakışta kolay görünse de bir gerçekle karşılaşırsın: sayfada on tane "Düzenle" butonu var ve hepsi aynı görünüyor. İnsan olarak hangi kaydın düzenle butonuna tıklayacağını biliriz çünkü bağlamı anlayız. Ama otomasyon scripti için bu iş çok daha karmaşık.

Playwright'ın sunduğu `getByRole('button', { name: 'Düzenle' })` gibi genel locator'lar bu durumda işe yaramaz. Çünkü ilk eşleşen butonu bulur ve sen hangi kaydın düzenle butonuna tıklanacağını bilmezsin. Salesforce'un dinamik yapısı, gölge DOM'lar ve tekrarlanan bileşenleri bu sorunu daha da derinleştiriyor.

Çözüm, daha spesifik bir strateji geliştirmek. Örneğin, önce kaydın container'ını bul, sonra o container içinde butonu ara. pratik bir yaklaşım:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1const recordRow = page.locator('div[data-record-id="12345"]');
2await recordRow.locator('button:has-text("Düzenle")').click();

Ya da daha güçlü bir yöntem: data attribute'ları ve ARIA attribute'larını birleştir. Salesforce bileşenlerinin çoğu `data-testid` ya da `data-qa` attribute'ları içeriyor; bunları kullan.

1await page.locator('[data-qa="record-action-edit"][data-record-id="12345"]').click();

AI tabanlı test otomasyon araçları bu sorunu kısmen çözmek için bağlamsal analiz yapıyor, ama yine de sen kodunuzda açık ve katmanlı locator stratejileri yazmalısın. Başlangıçta biraz daha uzun kod yazman gerekse de, bakım ve güvenilirlik açısından çok daha iyi sonuç alırsın. Salesforce'un sık güncellenmesi göz önüne alınırsa, sağlam bir locator yapısı uzun vadede zaman tasarrufu sağlar.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz