🐍 Python

Python, temiz ve okunabilir söz dizimiyle bilinen, yüksek seviyeli ve yorumlanan bir programlama dilidir. Test otomasyonunda en çok pytest çerçevesiyle birlikte kullanılır; Selenium ve Playwright ile tarayıcı otomasyonu, requests kütüphanesiyle API testi yazmak için tercih edilir. Java'ya göre daha az kod satırıyla aynı testi yazdırması, onu QA mühendisleri arasında en yaygın script dillerinden biri yapar.

Test otomasyonu için Python'u sıfırdan öğren: pytest fixture yapısı, Selenium, Playwright, test verisi yönetimi ve Java karşılaştırmaları.

Python'u sıfırdan öğrenin, test otomasyonuna odaklanın. Temel kodlamadan gelişmiş pytest çerçevelerine kadar — modern bir QA mühendisinin ihtiyaç duyduğu her şey burada.

Bu sayfada neler öğreneceksin

  • 🎯 Python Nedir & QA Mühendisleri Neden Kullanmalı? — Python, temiz ve okunabilir söz dizimiyle tanınan yüksek seviyeli, yorumlanan bir programlama dilidir — neredeyse düz İngilizce gibi okunur. 1991'de oluşturulan Python, otomasyon, veri bilimi ve web geliştirme için dünyanın en popüler dili haline gelmiştir. QA
  • 📦 Kurulum — Adım 1: Python 3 İndirme ve Kurulum Windows kullanıcıları: "Add Python to PATH" seçeneğini işaretlemeyi unutursanız terminalde `python` komutu çalışmaz. Yükleyiciyi yeniden çalıştırın, "Modify" seçin ve PATH seçeneğini işaretleyin.
  • 📐 Sözdizimi & Yorumlar — Python Söz Dizimi Bir tarif kitabını düşün: adımlar girintiyle gösterilir — ana adım, altına alt adım, onun da altına alt-alt adım. Gözün hangi adımın hangisinin İÇİNDE olduğunu anında görür. Java'nın süslü parantezleri aynı işi parantez SAYARAK yapar; gözün o
  • 📦 Değişkenler & Tipler — Değişkenler Bir değişken, üzerine etiket yapıştırılmış bir kutu gibi — name = "Ali" dediğinde, "name" etiketli kutuya "Ali" koymuş olursun. Ama burada gerçek soru şu: Java'da o kutuyu açmadan önce kutunun TÜRÜNÜ söylemen gerekir (
  • 🔤 Metinler & Mantıksal — String'ler (Metinler) Bir string'i, üzerine dizilmiş boncuklardan oluşan bir kolye gibi düşün — her boncuk (karakter) sırayla durur ve numarasıyla (index) çağrılabilir. Şimdi şunu sor: neden Python "string1 + string2" yazınca onları YAPIŞTIRIR ama &q
  • ➕ Operatörler — Operatörler Operatörler, okuldaki matematik sembollerinin (+, -, >, <) kod versiyonu — ama "and"/"or" gibi MANTIK operatörleri okulda görmediğin bir şey katıyor: birden fazla koşulu birleştirme gücü. Şunu kendine sor: "or" i
  • 📋 Listeler & Demetler — List Comprehension'lar Bir liste, numaralandırılmış bir alışveriş listesi gibi — her madde bir sırada durur, istediğin maddeyi numarasıyla (index) çağırabilirsin. Java'da bu işi ArrayList<String> yapar — ama "generic" tip yazman, import etmen,
  • 🗂️ Setler & Sözlükler — Setler (Kümeler) Bir set, kapıda parmak izi okuyan bir giriş sistemi gibi — aynı kişi ikinci kez girmeye çalışsa bile, içeride sadece BİR kayıt vardır. list(bug_ids) yazarsan sadece kopyalarsın, tekrarlar kalır; set(bug_ids) yazarsan Python her elemanı "d

Sık Sorulan Sorular

Python ile test otomasyonu nasıl yapılır?

En yaygın kombinasyon pytest (test runner) + Selenium veya Playwright (tarayıcı otomasyonu) + requests (API testi) üçlüsüdür. Fixture'lar test verisini/tarayıcı örneğini hazırlar, assertion'lar sonucu doğrular.

Python ile Java arasındaki fark nedir?

Python dinamik tipli ve daha az kod satırıyla aynı işi yaptırır; Java statik tipli olduğu için hataları derleme anında yakalar ve büyük kurumsal projelerde daha katı bir yapı sunar. QA tarafında Python daha hızlı script yazımı, Java daha büyük framework mimarisi için tercih edilir.

Python öğrenmek ne kadar sürer?

Temel söz dizimini (değişkenler, döngüler, fonksiyonlar) bir haftada öğrenebilirsin. pytest fixture'ları, OOP ve Selenium/Playwright entegrasyonu dahil mülakat seviyesine gelmek genelde 4-6 hafta düzenli pratik gerektirir.

Python ücretsiz mi?

Evet, Python tamamen ücretsiz ve açık kaynaklıdır (PSF lisansı). pytest, Selenium, requests dahil bahsedilen tüm kütüphaneler de ücretsizdir.

Python yerine ne kullanılır?

Kurumsal ve büyük ölçekli Selenium projelerinde Java, tip güvenli modern Playwright projelerinde TypeScript sıkça Python'ın yerini alır. Seçim genelde ekibin mevcut dil birikimine göre yapılır.

En sık karşılaşılan Python hatası nedir?

`AttributeError: 'NoneType' object has no attribute ...` — bir fonksiyonun `None` döndürdüğü ama koddaki devamın gerçek bir nesne beklediği durumlarda oluşur. Genellikle bir elementin bulunamayıp `None` dönmesi ve üzerinde direkt işlem yapılmaya çalışılmasından kaynaklanır.

Python otomasyon mülakatında en çok hangi soru sorulur?

pytest fixture kapsamlarının (`function`, `class`, `module`, `session`) farkı ve hangisini ne zaman seçeceğin. Ardından `*args`/`**kwargs` kullanımı, liste comprehension'ların ne zaman okunabilirliği bozduğu ve mutable/immutable veri tiplerinin fonksiyon argümanlarında yol açtığı sürpriz davranışlar sık sorulan takip sorularıdır.