Avval Selenium IDE bilan kod yozmasdan birinchi skriptingizni yozib olasiz, keyin o'shani Python kodiga aylantiramiz. Boshlovchilar uchun sodda misollar.
110 daqiqa
Python kod
5 ta interaktiv
Kirish
Selenium WebDriver nima?
18-darsda automation nima ekanini va qachon kerakligini ko'rdik. Endi amaliyot: avval Selenium IDE bilan kodsiz skript yozib olamiz (Record/Play), keyin WebDriver'ga o'tib o'sha ishni haqiqiy Python kodi bilan qilamiz.
Asosiy atama
Selenium WebDriver β kod yordamida brauzer'ni boshqarish kutubxonasi. Python, Java, JavaScript va boshqa tillar uchun bor.
Oddiy qilib: Siz Python kod yozasiz - "Brauzer ochib, Login bos" deysiz, kod brauzer bilan ishlaydi, xuddi siz kabi.
π‘ Sodda misol
Pultli avtomashina
Selenium IDE β bolalar o'yinchog'i (oddiy pult). WebDriver β professional dronni kompyuter bilan boshqarish. Kuchli, lekin biroz murakkab. Lekin kuch sizda - hamma narsani qila olasiz!
Nima uchun WebDriver?
Kuchli β IDE'da imkonsiz narsalarni qila olasiz
Tez β yuzlab testlar bir vaqtda
CI/CD β Jenkins, GitHub Actions bilan integratsiya
Framework β Pytest, unittest bilan birga
Maoshingiz β Selenium WebDriver biluvchi QA: Junior+ darajasi
Nega Python?
Sodda sintaksis β boshlovchilar uchun ideal
Kam kod β Java'da 10 qator, Python'da 3 qator
Mashhur β QA jamoasida 60%+ Python ishlatadi
Ko'p material β YouTube, kitoblar, blog'lar
Junior uchun
Bu dars juda muhim, lekin tezda hammasini tushunishga harakat qilmang. Asosiy tushunchalarni biling, keyin amalda mashq qilasiz. 3-4 hafta amaliyot kerak!
1-qism
Selenium IDE β kodsiz boshlash
Kod yozishdan oldin automation'ni ko'rib olish foydali. Selenium IDE brauzerda harakatlaringizni yozib oladi va o'zi qaytaradi β 10 daqiqada birinchi skriptingiz tayyor bo'ladi.
β οΈ Avval o'qing β 2026-yil holati
Selenium IDE'ning Chrome extension'i endi ishlamaydi. U eski Manifest V2 standartida yozilgan, Chrome esa 2025-yil iyuldan boshlab bunday extensionlarni butunlay o'chirib qo'ydi β na sozlama, na flag bilan yoqib bo'lmaydi. 2026-yil 31-avgustda ular Chrome Web Store'dan ham olib tashlandi.
Ishlaydigan ikkita yo'l bor:Firefox extension (eng tez yo'l) yoki Selenium IDE v4 desktop ilovasi β u extension emas, alohida dastur, shuning uchun Chrome siyosati unga ta'sir qilmaydi. Mac uchun universal.dmg bor: Apple Silicon (M-seriya) va Intel'da ham ishlaydi.
Halol gap: Selenium IDE 2024-yildan beri yangilanmagan va hali beta statusida. Bugungi sanoatda "yozib olish" uchun Playwright codegen ishlatiladi β uni 20-darsda ko'ramiz. Bu yerda Selenium IDE bilan tamoyilni tushunasiz: asbob emas, tushuncha muhim. Asbob tanlashda uning tirikligini tekshirish ham QA ishining bir qismi.
π
Selenium IDE bepul
Firefox extension yoki Mac/Windows uchun desktop ilova. Kodsiz β record va play.
Firefox'da: Add-ons'dan "Selenium IDE" β 1 daqiqa. Mac yoki Windows'da: GitHub Releases'dan desktop ilovani yuklang. Mac uchun universal.dmg β M-seriya va Intel'da ham ishlaydi. Mac eslatmasi: ilova imzolanmagani uchun "ochib bo'lmaydi" degan xabar chiqsa β System Settings β Privacy & Security β Open Anyway. Chrome'da ishlamaydi β sababi yuqorida.
2
TestShop Login skriptini yozib oling
Selenium IDE'ni oching β New Project β URL: TestShop login. Record bosing β login qiling β Stop. Endi Play bosib qayta-qayta bajaring β har safar bir xil ishlaydi.
3
3 ta skript yarating va saqlang
Login skripti, Mahsulot ko'rish skripti, Savatga qo'shish skripti. Hammasini .side faylga export qiling β bu portfolioingizning birinchi dalili.
Endi diqqat qiling
IDE yozgan qadamlarga qarang: har birida command, target (locator) va value bor. Bu aynan WebDriver kodida yozadigan narsamiz β faqat u yerda buni o'zimiz yozamiz. Shuning uchun IDE'ni tushunsangiz, keyingi bo'lim oson kechadi.
2-qism
O'rnatish va tayyorgarlik
Birinchi skript yozish uchun 3 narsa kerak: Python, Selenium, brauzer driver.
Saytda biror narsa bilan ishlash uchun avval uni topish kerak:
find_element.pyfrom selenium.webdriver.common.by importBy# ID bo'yicha (eng tez va aniq)
login_btn = driver.find_element(By.ID, "login-btn")
# CSS Selector bo'yicha
search = driver.find_element(By.CSS_SELECTOR, ".search-box")
# XPath bo'yicha
button = driver.find_element(By.XPATH, "//button[text()='Kirish']")
3. Element bilan ishlash
interact.py# Bosish
login_btn.click()
# Matn yozish
email_input.send_keys("test@uzum.uz")
# Tozalash (avval bo'lgan matnni o'chirish)
email_input.clear()
# Matnni olish
welcome_text = title.text# Attribute olish
link_url = link.get_attribute("href")
4. To'liq E2E misol β Login
login_test.pyfrom selenium import webdriver
from selenium.webdriver.common.by importByimport time
driver = webdriver.Chrome()
driver.get("https://testshop.uz/login")
# Email maydoniga matn yozish
email = driver.find_element(By.ID, "email")
email.send_keys("test@uzum.uz")
# Parol maydoniga
password = driver.find_element(By.ID, "password")
password.send_keys("Pass123!")
# Login tugmasini bosish
driver.find_element(By.ID, "login-btn").click()
# 3 sekund kutish (Dashboard ochilishi uchun)
time.sleep(3)
# Tekshirish - "Welcome" matni borligi
welcome = driver.find_element(By.CLASS_NAME, "welcome-msg")
assert"Welcome"in welcome.text
driver.quit()
print("β Test muvaffaqiyatli!")
Bu - to'liq professional Login test! Email yozadi, parol yozadi, tugma bosadi, natijani tekshiradi.
π― Bog'lang
Selenium buyrug'i va vazifasini bog'lang
Har buyruq nima qiladi?
Buyruq
driver.get(url)
element.click()
element.send_keys()
driver.quit()
find_element()
Vazifa
Brauzerni butunlay yopish
URL'ga o'tish (sahifa ochish)
Sahifada elementni topish
Tugmani bosish
Matn yozish (input maydoni)
0 / 5 juft
5-qism
Locator Strategy
Selenium'da elementlarni topishning 8 ta usuli bor. Lekin har biri bir xil emas β qaysisini tanlash muhim!
8 ta locator turi
By.ID
ID bo'yicha. Eng tez va aniq usul. ID unikal bo'ladi.
driver.find_element(By.ID, "login-btn")
β Eng yaxshi - ID bor bo'lsa
By.NAME
Name attribute bo'yicha. Input maydonlar uchun yaxshi.
Bug bo'lmasa - ID. Test ishonchli bo'lishi uchun - CSS Selector. Murakkab joy bo'lsa (matn bo'yicha) - XPath. Boshqa locator topa olmasangiz, dasturchidan ID qo'shishni so'rang!
π― Locator Classifier
Qaysi locator eng yaxshi?
1-qadam: HTML kodga qarang. 2-qadam: Eng yaxshi locator turi tanlang.
β Eng yaxshi: Aniq holat kutadi (visible, clickable, vsh.). Professional QA shu usulni ishlatadi.
Qaysi qachon?
time.sleep() - hech qachon (test sekin bo'ladi). Implicit Wait - kichik loyihalarda. Explicit Wait - professional, aniq holat kutish kerak bo'lganda.
π Code Builder
Selenium kod yarating
Vazifani tanlang va Selenium kod ko'ring:
π¬ Haqiqiy stsenariy
Click loyihasida birinchi automation skripti
Dushanba, 09:00. Click QA Lead Aziz aka sizga keldi: "Login funksiyamiz har release oldidan tekshiriladi - 8 ta brauzer Γ 5 ta scenario = 40 ta test. Manualda 4 soat ketadi."
Sizdagi vazifa: Selenium WebDriver bilan Login automation yozish.
Quyidagi locator'larni ko'ryapsiz: id="email", id="password", id="login-btn". Birinchi kod qatorlari qanday bo'ladi?
Eng to'g'ri kod boshlanishi qaysi?
β‘ Tezkor tekshiruv
Sayt yuklanadi, lekin element 2-3 sekund keyin ko'rinadi (AJAX). Eng yaxshi yondashuv qaysi?
π― Amaliyot vaqti
Birinchi Selenium skriptingiz
Endi nazariyani amaliyotga qo'llaymiz. 3 ta vazifa - sodda, lekin amaliy.
π
Python + Selenium
Bepul. Mac, Windows, Linux uchun. Asosiy kutubxona.