Selenium ilə automation əsasları — nəzəriyyə + real element playground.
Brauzeri proqram vasitəsilə idarə edən açıq mənbəli alət. Chrome, Firefox, Safari, Edge dəstəkləyir.
WebDriver driver = new ChromeDriver(); driver.get("https://anarabbas.az"); driver.quit();
Element tapmağın 6 əsas üsulu. Prioritet: ID → Name → CSS → XPath.
driver.findElement(By.id("username")); driver.findElement(By.cssSelector("#btn")); driver.findElement(By.xpath("//input[@id='x']"));
Element yüklənməsini gözləmək üçün 3 üsul. Explicit Wait ən çox tövsiyə edilir.
// Explicit Wait WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions .visibilityOfElementLocated(By.id("el")));
Hər səhifəni ayrı class-da saxlayan dizayn pattern. Test kodu clean, maintenance asandır.
public class LoginPage { @FindBy(id = "username") WebElement usernameField; public void login(String user) { usernameField.sendKeys(user); } }
Hover, drag&drop, double click, right click kimi mürəkkəb mouse əməliyyatları üçün.
Actions actions = new Actions(driver); // Hover actions.moveToElement(element).perform(); // Drag & Drop actions.dragAndDrop(src, target).perform();
Selenium ilə çatmayan elementlər üçün birbaşa JS icra etmə. Scroll, click, dəyər set etmə.
JavascriptExecutor js = (JavascriptExecutor) driver; // Scroll to element js.executeScript("arguments[0].scrollIntoView()", el); // Click js.executeScript("arguments[0].click()", el);
Checkboxes:
Radio Buttons:
| Ad | Soyad | Maaş | Status | |
|---|---|---|---|---|
| Anar | Abbas | anar@abb.az | ₼3500 | Active |
| Nigar | Əliyeva | nigar@test.az | ₼2800 | Pending |
| Tural | Hüseynov | tural@test.az | ₼4200 | Active |
| Leyla | Məmmədova | leyla@test.az | ₼3100 | Inactive |
Bu elementləri aşağıdakı zonaya sürükləyin:
Upload
Download
Following links will send an API call — response status-u yoxlayın
Broken Links — Images
Valid image
Broken image
Valid Link
Click Here for Valid LinkBroken Link
Click Here for Broken LinkBu elementin ID-si hər dəfə dəyişir:
Sabit attribute ilə tapın:
Gecikmiş element (3 saniyə):
Bu text-in random ID-si var (hər yükləmədə dəyişir):
This text has random Id
5 saniyə sonra aktiv olan düymə:
5 saniyə sonra görünən düymə:
5 saniyə sonra rəng dəyişən düymə: