QA Academy Logo
← Bloqa Qayıt
🇦🇿 AZ🇬🇧 EN
Test Avtomatlaşdırılması 28 İyul 2026 12 dəq oxuma

Selenium vs Playwright 2026: Dərin Arxitektura və Performans Müqayisəsi

Veb avtomatlaşdırılması dünyasında Selenium uzun illər qlobal sənaye standartı olub. Lakin Microsoft tərəfindən yaradılan Playwright müasir arxitekturası, inanılmaz sürəti və daxili avtomatik gözləmə (auto-waiting) mexanizmi ilə E2E test ekosistemini yenidən formalaşdırır.

1. Arxitektura Müqayisəsi: HTTP WebDriver vs WebSocket CDP/BiDi

Əsas fərq iki alətin brauzerlə necə ünsiyyət qurmasındadır:

Selenium (W3C WebDriver)

Test Kodu → HTTP JSON Wire / W3C → Brauzer Sürücüsü (ChromeDriver) → Brauzer. Hər əmr ayrıca HTTP sorğusu olaraq göndərilir, bu da şəbəkə gecikmələrinə səbəb olur.

Playwright (WebSocket / CDP)

Test Kodu → Tək Davamlı WebSocket Bağlantısı → Brauzerin Daxili Mühərriki. Əmrlər birbaşa və dərhal icra edilir, sıfır HTTP əlavə xərci.

2. Xüsusiyyətlərin Müqayisə Cədvəli

Meyar Selenium WebDriver Microsoft Playwright
Gözləmə Mexanizmi Explicit / Implicit wait tələb edir (Flaky test riski) Avtomatik (Auto-wait for actionability)
Paralel İcra Selenium Grid / TestNG tələb edir Qutudan çıxarkən daxili Worker prosesləri ilə
Şəbəkə İdarəsi & Mocking Məhdud (DevTools API vasitəsilə) Tam şəbəkə interceptasiyası və API mocking
Multi-Tab & Multi-Origin Window handle keçidləri ilə mürəkkəb BrowserContext ilə tam izolyasiya və asan idarə
Quraşdırma & Setup Sürücülər (driver) və framework manual quraşdırılır Tək npm init playwright@latest əmri ilə hazır

3. Kod Nümunəsi: Login Testinin Müqayisəsi

Playwright-da yazılmış təmiz və güclü TypeScript test kodu:

package az.qaacademy.tests;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.testng.annotations.AfterMethod;
import java.time.Duration;

public class LoginAutomationTest {
    private WebDriver driver;
    private WebDriverWait wait;

    @BeforeMethod
    public void setUp() {
        driver = new ChromeDriver();
        driver.manage().window().maximize();
        wait = new WebDriverWait(driver, Duration.ofSeconds(10));
    }

    @Test
    public void testSuccessfulLogin() {
        driver.get("https://qaacademy.az/login");

        wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("email")))
            .sendKeys("student@qaacademy.az");
        driver.findElement(By.id("password")).sendKeys("SecurePassword2026!");
        driver.findElement(By.cssSelector("button[type='submit']")).click();

        boolean isDashboardVisible = wait.until(
            ExpectedConditions.visibilityOfElementLocated(By.id("dashboard-welcome"))
        ).isDisplayed();

        Assert.assertTrue(isDashboardVisible, "Dashboard welcome banner should be visible");
    }

    @AfterMethod
    public void tearDown() {
        if (driver != null) driver.quit();
    }
}

4. 2026-cı İldə Hansını Seçməlisiniz?

Əgər layihəniz sıfırdan başlanırsa və ya sürətli, stabil CI/CD testlərinə ehtiyacınız varsa, Playwright 2026-cı ilin ən üstün seçimidir. Əgər 10 ildən artıq tarixi olan böyük Legacy Java/C# sistemləri ilə işləyirsinizsə, Selenium hələ də öz mövqeyini qoruyur.

Tez-tez Verilən Suallar (FAQ)

Playwright hansı proqramlaşdırma dillərini dəstəkləyir?

Playwright TypeScript/JavaScript, Python, Java və C# (.NET) dillərini rəsmi olaraq tam dəstəkləyir.

Playwright real Safari brauzerində test edirmi?

Playwright Safari-nin mühərriki olan açıq qaynaqlı WebKit mühərrikindən istifadə edir və macOS, Windows və Linux sistemlərində Safari davranışını 99.9% dəqiqliklə simulyasiya edir.

Playwright-a keçmək çətindirmi?

Xeyr, Selenium və ya Cypress təcrübəsi olan QA mühəndisi 1-2 həftə ərzində Playwright-a tam adaptasiya ola bilir.

Sabir Tahirli

Sabir Tahirli

Chapter Lead & QA Automation Mütəxəssisi

Sabir Tahirli — Akart-da Chapter Lead və 6+ illik təcrübəyə malik Test Avtomatlaşdırması mühəndisidir. Java, Selenium WebDriver, TestNG və Page Object Model əsaslı avtomatlaşdırma framework-lərinin sıfırdan qurulması üzrə aparıcı ekspertdir.