Repository ini berisi framework otomasi pengujian untuk aplikasi Hadir, yang dikembangkan sebagai bagian dari proyek akhir tim SQA Team 3. Framework ini dirancang menggunakan pendekatan Page Object Model (POM) dengan Selenium WebDriver dan Java.
- Language: Java 17
- Automation Tool: Selenium WebDriver (4.x)
- Test Framework: TestNG
- Build Tool: Maven
- Reporting: Extent Reports (Spark Reporter)
- CI/CD: GitHub Actions
- Self-Healing: Healenium (3.x)
- Database: PostgreSQL (Dockerized for Healenium)
- Infrastructure: Docker & Docker Compose
- Configuration: Dotenv-java (Environment Variables)
src
├── main/java/com/hadirapp
│ ├── drivers/ # Konfigurasi WebDriver & Strategi Browser
│ ├── pages/ # Page Object Classes (POM)
│ └── utlis/ # Utility classes (WaitUtils, Constants, etc.)
└── test/java/com/hadirapp
├── tests/ # Test Classes (TestNG)
└── utlis/ # Test Utilities (ExtentManager, TestListener)
Proyek ini mencakup pengujian regresi untuk fitur-fitur utama serta implementasi Self-Healing Automation:
- Automatic Element Recovery: Memperbaiki locator yang rusak secara otomatis saat terjadi perubahan UI minor (ID, Class, XPath, dll).
- Element Learning: Menyimpan metadata elemen ke database PostgreSQL untuk referensi pemulihan.
- Register
- Login & Logout
- Reset Password
- Absen Masuk (Normal & Block Camera)
- Absen Keluar
- History Absensi
- Koreksi Absen
- Pengajuan Cuti
- Pengajuan Lembur
- Pengajuan Sakit
- Pengajuan Izin (Off, Pulang Cepat, Terlambat)
-
Clone Repository
git clone https://github.com/atillatrisakti/Final-Project-SQA-Team3.git cd Final-Project-SQA-Team3 -
Environment Setup
- Salin file
.env.examplemenjadi.env. - Isi variabel di dalam
.envdengan kredensial dan URL yang sesuai.
cp .env.example .env
- Salin file
-
Start Infrastructure (Docker) Pastikan Docker Desktop sudah menyala, lalu jalankan layanan Selenium Grid dan Healenium:
docker-compose up -d
-
Install Dependencies
mvn install
mvn clean test -DsuiteXmlFile=testng.xml- Authentication:
mvn clean test -DsuiteXmlFile=testng-auth.xml - Attendance:
mvn clean test -DsuiteXmlFile=testng-attendance.xml - Requests:
mvn clean test -DsuiteXmlFile=testng-requests.xml
mvn clean test -Dbrowser=chrome-headlessHasil eksekusi tes akan secara otomatis menghasilkan Extent Report yang dapat ditemukan di:
target/extent-reports/Automation-Report.html
Jika Anda menjalankan tes secara lokal dengan Docker, Anda dapat melihat log healing dan manajemen selector melalui:
- Healenium Reports:
http://localhost:7878/report - Postgres Database: Port
15432(untuk melihat data selector yang terekam)
Project ini sudah terintegrasi dengan GitHub Actions. Tes akan berjalan otomatis setiap kali ada push atau pull request ke branch main/master.
- Pastikan untuk menambahkan Secrets di GitHub untuk semua variabel yang ada di file
.env.
Untuk detail dokumentasi pengujian lainnya, silakan akses link berikut:
- System Integration Testing (SIT): Link Dokumen SIT Disini
SQA Team 3 - JuaraCoding Final Project