0/12 selesai APK

12 Suite & CI

Menjalankan semua flow otomatis di setiap push.

60 menit · 3 konsep · 1 misi

Konsep inti

  1. 12.1

    Atur suite

    Pilih flow lewat config dan tag.

    # .maestro/config.yaml
    flows:
      - flows/*
    includeTags: [smoke]
  2. 12.2

    Laporan

    Hasil yang dibaca CI.

    $ maestro test .maestro/ \
        --format junit --output report.xml
  3. 12.3

    Di CI

    Jalankan di GitHub Actions + emulator.

    - run: maestro test .maestro/
$ maestro test .maestro/
[Passed] Login sukses
[Passed] Buat pesanan
…
[Passed] Walk-in + VA
14/14 Flows Passed
report.xml
CI

Praktik di playground

  1. Beri tag: smoke, regression
  2. Jalankan dengan report junit
  3. Pasang di GitHub Actions

Misi

Proyek akhir: suite hijau di CI dengan report junit.

Lihat kunci jawabankunci/m12_ci/.github/workflows/maestro.ymlContoh referensi
kunci/m12_ci/.github/workflows/maestro.yml
name: maestro
on: [push, pull_request]
jobs:
  ui-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Aktifkan KVM untuk emulator
        run: |
          echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
          sudo udevadm control --reload-rules && sudo udevadm trigger --name-match=kvm
      - name: Install Maestro
        run: |
          curl -Ls "https://get.maestro.mobile.dev" | bash
          echo "$HOME/.maestro/bin" >> "$GITHUB_PATH"
      - name: Unduh APK playground
        run: curl -fsSL -o app.apk "$APK_URL"
        env:
          APK_URL: https://files.aminhamzah.com/apk/laundry-kiloan-latest.apk
      - name: Jalankan suite di emulator
        uses: reactivecircus/android-emulator-runner@v2
        with:
          api-level: 34
          arch: x86_64
          script: |
            adb install -r app.apk
            maestro test .maestro/ --format junit --output report.xml
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: maestro-report
          path: |
            report.xml
            ~/.maestro/tests/
Unduh file

Emulator CI lebih lambat → timeout terlalu ketat.