FAQ
Halaman ini menjawab pertanyaan umum tentang Heimdall. Jika pertanyaan Anda belum terjawab, buka GitHub Issues atau Discussions.
Pertanyaan Umum
Apa itu Heimdall?
Heimdall adalah tool otomatisasi QA berbasis keyword-driven testing yang dirancang untuk Android dan Web. Pengguna dapat menulis skrip test dalam Bahasa Indonesia (Keyword DSL) atau Inggris (English DSL), merekam aksi UI secara otomatis, dan menjalankannya via CLI untuk integrasi CI/CD.
Bagaimana cara kerja Heimdall?
Heimdall bekerja dengan 3 komponen utama:
- Keyword DSL Engine — Menerjemahkan perintah seperti
Ketuk tombol "Login"menjadi aksi otomatisasi. - Automation Driver — Menjalankan aksi di device Android (UIAutomator2) atau browser (Playwright).
- Headless CLI — Menyediakan interface command-line untuk eksekusi tanpa GUI.
Apakah Heimdall gratis?
Ya, Heimdall adalah proyek open-source yang dilisensikan di bawah MIT License. Anda bebas menggunakannya untuk proyek komersial maupun non-komersial.
Platform apa saja yang didukung?
| Platform | Status | Driver |
|---|---|---|
| Android | ✅ Stable | UIAutomator2 |
| Web (Chromium) | ✅ Stable | Playwright |
| Web (Firefox) | ✅ Beta | Playwright |
| Web (WebKit) | 🟡 Experimental | Playwright |
| iOS | 📋 Planned | XCUITest (2025) |
Bahasa apa yang didukung untuk skrip?
- Bahasa Indonesia (default) —
Ketuk tombol "Login" - Bahasa Inggris —
Click "Login" - Kedua mode menghasilkan command dict yang identik secara internal.
Pertanyaan Teknis
Apa saja prasyarat instalasi?
| Komponen | Versi Minimum | Catatan |
|---|---|---|
| Python | 3.10+ | Wajib |
| ADB | Terbaru | Untuk Android testing |
| Graphviz | 2.42+ | Wajib untuk Mindmap |
| Node.js | 18.x | Opsional, untuk web testing |
Bagaimana cara instal Heimdall?
# Clone repository
git clone https://github.com/dhiyo7/heimdall.git
cd heimdall
# Install dependensi
pip install -r requirements.txt
# Inisialisasi driver Android
python -m uiautomator2 init
# Verifikasi instalasi
heimdall --helpBagaimana cara menulis test pertama?
Buat file login_test.heim:
Buka aplikasi "com.example.app"
Tunggu sampai muncul teks "Sign In"
Ketik "user@test.com" pada kolom "Email"
Ketik "password123" pada kolom "Password"
Ketuk tombol "Login"
Pastikan muncul teks "Dashboard"Jalankan:
heimdall run login_test.heimApa itu Keyword DSL?
Keyword DSL adalah bahasa scripting khusus Heimdall yang menggunakan kata-kata Bahasa Indonesia atau Inggris untuk mendeskripsikan aksi otomatisasi.
Contoh Bahasa Indonesia:
Buka aplikasi "com.example.app"
Ketik "user@test.com" pada kolom "Email"
Ketuk tombol "Login"
Pastikan muncul teks "Dashboard"Contoh Bahasa Inggris:
Open "com.example.app"
Type "user@test.com" on field "Email"
Click "Login"
ASSERT "Dashboard"Bagaimana cara menggunakan Data-Driven Testing (DDT)?
GUNAKAN DATA "user_credentials" SEBAGAI "row"
Ketik "row.Email" pada kolom "Email"
Ketik "row.Password" pada kolom "Password"
Ketuk tombol "Login"
Pastikan muncul teks "Dashboard"
SELESAI GUNAKAN DATAData disimpan di file CSV, Excel, JSON, atau SQLite.
Bagaimana cara menjalankan test secara paralel?
# Jalankan 5 proses paralel
heimdall run ./tests/ --parallel 5
# Target device spesifik
heimdall run ./tests/ --parallel 5 --device "emulator-5554,emulator-5556"Apa itu Self-Healing Selector?
Self-Healing Selector adalah fitur otomatis yang mencari alternatif selector ketika primary selector gagal menemukan elemen. Contoh:
# Normal mode
Ketuk tombol "Login"
# Fallback manual jika selector utama gagal
GUNAKAN selector alt {
Ketuk tombol "Masuk"
}Bagaimana cara integrasi dengan CI/CD?
Lihat panduan lengkap di CI/CD Integration.
Contoh singkat GitHub Actions:
name: Heimdall Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Heimdall
run: heimdall run ./tests/ --parallel 3 --report junit-xml --output ./reports/Pertanyaan Instalasi
Error: python: command not found
Penyebab: Python tidak terinstall atau belum ada di PATH.
Solusi:
# Verifikasi instalasi Python
python --version
# Jika tidak ada, install Python 3.10+ dari python.org
# Pastikan mencentang "Add Python to PATH"Error: adb: command not found
Penyebab: Android SDK Platform-Tools tidak terinstall.
Solusi:
# Ubuntu/Debian
sudo apt install android-tools-adb
# macOS
brew install android-platform-tools
# Windows
# Download dari developer.android.com/studio/releases/platform-toolsError: uiautomator2 init gagal
Penyebab: Device tidak terdeteksi atau USB Debugging tidak aktif.
Solusi:
# Pastikan device terhubung
adb devices
# Aktifkan USB Debugging di Developer Options
# Izinkan instalasi ATX di deviceError: ModuleNotFoundError meskipun sudah install
Penyebab: Virtual environment tidak aktif.
Solusi:
source venv/bin/activate # Linux/macOS
# atau
.\venv\Scripts\activate # WindowsPertanyaan Troubleshooting
Test flaky (kadang berhasil, kadang gagal)
Penyebab: Race condition, animasi, atau selector yang tidak stabil.
Solusi:
- Tambahkan
Tunggusebelum aksi yang membutuhkan elemen muncul - Gunakan explicit wait:
Tunggu sampai muncul teks "Loading" selesai - Gunakan
--retry 2untuk menjalankan ulang test yang gagal
Element tidak ketemu meskipun elemen terlihat
Penyebab: Selector salah atau aplikasi sedang transisi.
Solusi:
- Gunakan
heimdall inspectuntuk melihat selector yang tersedia - Gunakan teks yang persis seperti di layar
- Tambahkan
Tunggusebelum aksi - Gunakan
Ketik "text" pada kolom "urutan 1"sebagai fallback
Keyboard tidak muncul setelah test
Penyebab: Heimdall menggunakan FastInputIME (Ghost Keyboard).
Solusi:
- Tunggu sampai skrip selesai — keyboard akan kembali normal
- Atau matikan FastInputIME via ADB:bash
adb shell ime set com.android.inputmethod.latin/.LatinIME
Browser process failed to start (Web)
Penyebab: Dependensi sistem browser belum terpasang.
Solusi:
heimdall playwright install-deps chromium
heimdall playwright install chromium
# Jika di-container
heimdall run test.heim --args="--no-sandbox"Parallel execution flaky
Penyebab: Resource terbatas atau race condition.
Solusi:
# Kurangi jumlah proses paralel
heimdall run ./tests/ --parallel 2
# Batasi device
heimdall run ./tests/ --parallel 2 --device "emulator-5554"Pertanyaan License
Apakah Heimdall gratis untuk komersial?
Ya, Heimdall dilisensikan di bawah MIT License. Anda bebas menggunakannya untuk proyek komersial tanpa biaya.
Apa syarat penggunaan?
- Cantumkan copyright notice di produk Anda
- Jangan menghapus atau mengubah lisensi
- Tidak ada jaminan dari penulis
Bisakah saya memodifikasi Heimdall?
Ya, Anda bebas memodifikasi source code sesuai kebutuhan Anda, selama tetap mematuhi syarat MIT License.
Pertanyaan Support
Bagaimana cara mendapatkan bantuan?
- Dokumentasi — Baca dokumentasi di folder
docs/ - GitHub Issues — Cari solusi atau buat issue baru
- GitHub Discussions — Tanya komunitas
- Email — Kirim email ke support@heimdall.qa
Apakah ada support berbayar?
Saat ini kami hanya menyediakan support komunitas. Untuk dukungan enterprise, hubungi kami di enterprise@heimdall.qa.
Berapa lama respons untuk issue?
- Bug report: 2-3 hari kerja
- Feature request: 1 minggu (untuk evaluasi)
- Security issue: 24 jam
Pertanyaan Pricing
Apakah Heimdall berbayar?
Tidak, Heimdall sepenuhnya gratis untuk open-source dan komersial.
Apakah ada versi enterprise?
Ya, kami sedang mengembangkan Heimdall Enterprise dengan fitur tambahan:
- Cloud execution
- Advanced analytics
- Team collaboration
- Priority support
Untuk informasi lebih lanjut, hubungi enterprise@heimdall.qa.
Pertanyaan Community
Bagaimana cara berkontribusi?
- Fork repository
- Buat branch baru:
git checkout -b feature/nama-fitur - Commit perubahan:
git commit -m "Add feature: ..." - Push ke branch:
git push origin feature/nama-fitur - Buat Pull Request
Apakah ada pedoman kontribusi?
Ya, baca Contributing Guide untuk detailnya.
Bisakah saya menjadi maintainer?
Kami selalu terbuka untuk kontributor aktif. Jika Anda konsisten berkontribusi selama 3+ bulan, Anda dapat diundang menjadi maintainer.
Troubleshooting FAQ
Q: Test berjalan lambat
A:
- Matikan animasi di Developer Options:
Animation scale=Off - Kurangi
--paralleljika terlalu banyak proses bersamaan - Gunakan selector yang lebih stabil (text atau resource-id)
Q: Device sering disconnected
A:
- Gunakan kabel USB yang berkualitas baik
- Matikan screen lock agar device tidak sleep
- Pastikan battery di atas 20%
- Gunakan emulator jika device fisik tidak stabil
Q: heimdall command tidak ditemukan setelah install
A:
# Install dalam editable mode
pip install -e .
# Atau gunakan python module
python -m heimdall --helpQ: Test gagal di CI/CD tapi berhasil di lokal
A:
- Gunakan emulator dengan konfigurasi yang sama di lokal dan CI/CD
- Jangan gunakan data lokal — gunakan test data yang di-commit
- Pastikan versi aplikasi yang diuji sama
- Tambahkan cleanup step di CI/CD pipeline
Q: Permission denied saat install package
A:
# Gunakan virtual environment (direkomendasikan)
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Atau gunakan --user flag (jangan pakai sudo)
pip install -r requirements.txt --userQ: Report tidak terbuat atau kosong
A:
# Buat folder output
mkdir -p ./reports
chmod 755 ./reports
# Jalankan dengan output path yang benar
heimdall run login_test.heim --report json --output ./reports/Q: JUnit merge failed / duplikat test case
A:
- Gunakan
classnameunik per file - Merge hanya
testsuite, bukantestcaseyang duplikat - Gunakan tool
junit-xml-mergerdi GitLab CI
Q: Browser process failed to start
A:
# Install browser dependencies
heimdall playwright install-deps chromium
heimdall playwright install chromium
# Jika di-container, tambahkan --no-sandbox
heimdall run test.heim --args="--no-sandbox"Kontak
Jika Anda memiliki pertanyaan lain:
- GitHub Issues: https://github.com/dhiyo7/heimdall/issues
- GitHub Discussions: https://github.com/dhiyo7/heimdall/discussions
- Email: support@heimdall.qa
- Enterprise: enterprise@heimdall.qa