Playwright • Praktik Python

Tutorial Playwright Python: Test Pertama

Tutorial ini menghasilkan satu test form yang deterministik. Form dibuat di dalam browser oleh test sehingga latihan tidak bergantung pada akun, koneksi website, atau server demo. Ini latihan interaksi UI, bukan pembuktian keamanan login atau integrasi backend.

Lihat kelas Playwright Python

Panduan Ini Cocok untuk Siapa?

  • Pemula yang sudah memahami Python dasar
  • Peserta yang ingin latihan dengan hasil terukur
  • Praktisi yang sedang merapikan alur automation

Roadmap Belajar Bertahap

  1. Langkah 1

    Siapkan prasyarat

    Cek environment dan file latihan sebelum menjalankan perintah.

  2. Langkah 2

    Jalankan contoh minimal

    Mulai dari satu test agar penyebab kegagalan mudah ditelusuri.

  3. Langkah 3

    Baca hasil dan coba kegagalan

    Ubah ekspektasi untuk memastikan assertion benar-benar bekerja.

  4. Langkah 4

    Hubungkan ke project

    Adaptasi data dan locator, lalu lanjutkan ke panduan terkait.

Siapkan virtual environment

Gunakan Python yang didukung versi Playwright terpasang. Pada Linux/macOS jalankan perintah berikut dari direktori project baru. Di Windows gunakan py untuk membuat virtualenv dan .venv\Scripts\python.exe untuk perintah selanjutnya.

Jika browser gagal mulai karena library OS belum lengkap, ikuti daftar dependency untuk sistem operasi pada dokumentasi Playwright. Instalasi package Python saja tidak memasang semua dependency OS.

Terminal Linux/macOS · bash
python3 -m venv .venv
.venv/bin/python -m pip install pytest-playwright
.venv/bin/python -m playwright install chromium

Tulis test form yang punya assertion

Simpan file berikut sebagai tests/web/test_form.py. Fixture page disediakan pytest-playwright. Test mengisi input berlabel, menekan tombol, lalu memeriksa teks hasil yang terlihat.

Data Peserta latihan adalah data sintetis. Saat memindahkan pola ini ke aplikasi sungguhan, gunakan base URL aplikasi uji dan data test yang bisa dibersihkan.

test_form.py · python · Unduh file
from playwright.sync_api import Page, expect


def test_form_latihan(page: Page):
    # Demo lokal di dalam browser; bukan test autentikasi backend.
    page.set_content("""
        <label for="nama">Nama peserta</label>
        <input id="nama">
        <button type="button" onclick="document.querySelector('#hasil').textContent =
            'Halo, ' + document.querySelector('#nama').value">Mulai</button>
        <p id="hasil" role="status"></p>
    """)
    page.get_by_label("Nama peserta").fill("Peserta latihan")
    page.get_by_role("button", name="Mulai", exact=True).click()
    expect(page.get_by_role("status")).to_have_text("Halo, Peserta latihan")

Jalankan dan buktikan test bisa gagal

Jalankan perintah di bawah. Hasil yang diharapkan adalah satu test lulus, bukan hanya browser terbuka. Kemudian ubah expected text menjadi teks yang salah; test harus gagal. Pulihkan setelah eksperimen.

Jika muncul fixture page not found, periksa bahwa pytest dan pytest-playwright terpasang dalam virtualenv yang sama. Jika muncul Executable does not exist, pasang browser memakai Python virtualenv yang menjalankan test.

Eksekusi dan report · bash
.venv/bin/python -m pytest tests/web/test_form.py --browser chromium --junitxml=reports/web.xml

Jangan berhenti pada klik yang berhasil

Tambah kasus input kosong dan karakter khusus sesuai kontrak aplikasi. Pada demo ini belum ada validasi input; definisikan perilakunya sebelum menambahkan assertion.

Setelah test lokal dipahami, lanjutkan latihan locator/auto-waiting dan jalankan dua contoh tersebut di Jenkins. File unduhan dapat disimpan dalam repository latihan; README menjelaskan struktur foldernya.

Pertanyaan yang Sering Ditanyakan

Mengapa tidak langsung memakai website produksi?

Demo lokal membantu memisahkan kesalahan kode dari akun, jaringan, dan perubahan situs. Test aplikasi nyata tetap diperlukan setelah fondasinya dipahami.

Apakah harus membuat driver browser sendiri?

Untuk contoh pytest ini tidak. Fixture page dari pytest-playwright mengelola page dan context test.

Referensi dan bahan latihan

Disusun oleh Kelas Otomesyen. Contoh memakai data latihan; sesuaikan dependency, device, dan locator dengan project.

Unduh starter project (.zip)Unduh petunjuk starter project

Lanjutkan ke Panduan Terkait

Lihat kelas Playwright Python