Skip to main content

step-by-step flow cara kerja Playwright dari sudut pandang praktis QA/DevOps/Developer

Tentu! Di bawah ini adalah step-by-step flow cara kerja Playwright dari sudut pandang praktis QA/DevOps/Developer, termasuk bagaimana test dijalankan sampai bisa diintegrasikan ke CI/CD seperti Jenkins:


โœ… Step-by-Step Flow Cara Kerja Playwright

๐Ÿ’ก Gambar Besarnya:

[1] Tulis Skenario Test  -->  [2] Jalankan Test di Browser Otomatis
           โ†“                             โ†“
[3] Verifikasi Hasil Otomatis  -->  [4] Buat Laporan
           โ†“                             โ†“
     (Optional) Integrasi ke CI/CD seperti Jenkins

๐Ÿงฉ Detail Step-by-Step


1. Install dan Setup Project

Pertama, siapkan project Playwright (biasanya 1x saja):

npm init -y
npm install -D @playwright/test
npx playwright install

Ini akan:

  • Install test runner @playwright/test

  • Download browser binaries: Chromium, Firefox, WebKit


2. Tulis Skenario Test

Buat file test (misal login.spec.ts atau .js):

import { test, expect } from '@playwright/test';

test('login success', async ({ page }) => {
  await page.goto('https://app.example.com/login');
  await page.fill('#username', 'widi');
  await page.fill('#password', 'rahasia123');
  await page.click('button[type=submit]');
  await expect(page).toHaveURL('https://app.example.com/dashboard');
});

๐Ÿ“Œ Bisa nulis test per fitur: login, form, filter data, dll.


3. Jalankan Test Secara Manual (Dev/QA Lokal)

npx playwright test
  • Test akan membuka browser otomatis (headless atau headful)

  • Simulasi user klik, isi form, dan verifikasi hasil

  • Keluar PASS/FAIL di terminal


4. Generate Report Otomatis

Secara default, Playwright membuat HTML report:

npx playwright show-report

Output ada di playwright-report/index.html.


5. (Opsional) Konfigurasi Tambahan

Kamu bisa konfigurasi di playwright.config.ts:

import { defineConfig } from '@playwright/test';

export default defineConfig({
  use: {
    headless: true,
    baseURL: 'https://app.example.com',
  },
  reporter: [['html', { outputFolder: 'playwright-report' }]],
});

6. Integrasi ke CI/CD (contoh Jenkins)

Flow-nya:

Push code ke Git โ†’ Jenkins jalan โ†’ npm install โ†’ run playwright โ†’ buat report

Contoh Jenkinsfile:

pipeline {
  agent any

  tools {
    nodejs "NodeJS 18"
  }

  stages {
    stage('Install') {
      steps {
        sh 'npm ci'
        sh 'npx playwright install --with-deps'
      }
    }

    stage('Run Tests') {
      steps {
        sh 'npx playwright test'
      }
    }

    stage('Report') {
      steps {
        publishHTML(target: [
          reportDir: 'playwright-report',
          reportFiles: 'index.html',
          reportName: 'Playwright Report',
          keepAll: true
        ])
      }
    }
  }
}

๐Ÿงช Final Output:

  • Test dijalankan otomatis

  • Laporan dibuat

  • Hasil test (pass/fail) muncul di Jenkins

  • Jika ada bug โ†’ cepat diketahui sebelum sampai ke production


๐Ÿงญ Ringkasan:

Langkah Tujuan
1. Install Playwright Siapkan tools dan browser
2. Tulis Test Definisikan skenario user
3. Run Test Jalankan test lokal/CI
4. Cek Report Lihat hasil test
5. Integrasi CI/CD Automasi test di Jenkins, GitLab, dll