Skip to content

danifeb94/GoRestAutomation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoRest API Automation Testing - QAE Portfolio

Proyek ini adalah implementasi QAE Take Home Test untuk melakukan otomatisasi pengujian pada GoRest API menggunakan Java dengan pendekatan Behavior-Driven Development (BDD) dan Cucumber.

🛠️ Tech Stack

  • Language: Java 11 (JDK)
  • Framework: Cucumber (BDD)
  • API Client: Rest-Assured
  • Build Tool: Maven
  • Assertion: Hamcrest & JUnit 4

📋 Skenario Pengujian (CRUD)

Otomatisasi ini mencakup validasi fungsionalitas User Management sebagai berikut:

  1. Create User: Membuat user baru melalui POST/public-api/users.
  2. Get User Details: Mengambil informasi detail user melalui GET/public-api/users/xxx.
  3. Update User: Memperbarui data user melalui PUT/public-api/users/xxx.
  4. Delete User: Menghapus user dari sistem melalui DELETE/public-api/users/xxx.

⚙️ Persiapan & Setup

Untuk menjaga keamanan data, Access Token tidak di-hardcode di dalam script pengujian.

  1. Clone Repository:
    git clone <repository-url>
    cd GoRestAutomation
    
  2. Dapatkan Credentials: Login ke GoRest Portal untuk mendapatkan token Anda. Pelajari API lebih lanjut di Rest Console.
  3. Konfigurasi Token: Buat file config.properties di dalam folder src/test/resources/ dan tambahkan detail berikut:
    base.url=[https://gorest.co.in/public/v2](https://gorest.co.in/public/v2)
    api.token=MASUKKAN_TOKEN_ANDA_DISINI
    

🚀 Menjalankan Pengujian

Gunakan Maven untuk mengeksekusi seluruh rangkaian pengujian secara otomatis: mvn clean test

📊 Hasil Pengujian

Setelah eksekusi selesai, laporan pengujian visual dalam format HTML akan dihasilkan secara otomatis di lokasi berikut: target/cucumber-reports.html

⚠️ Note on CI/CD Execution (GitHub Actions)

Saat ini, eksekusi melalui GitHub Actions mungkin menghasilkan status 403 Forbidden. Hal ini dikarenakan Cloudflare Bot Protection pada server GoRest memblokir trafik otomatis dari alamat IP pusat data GitHub.

Poin Penting:

  • Kode otomasi ini 100% valid dan berjalan sukses di lingkungan lokal (MacBook Air M1).
  • Masalah di CI/CD murni terkait pembatasan keamanan infrastruktur pihak ketiga (GoRest), bukan kesalahan logika pada skrip Java/RestAssured.
  • Konfigurasi .github/workflows/maven.yml tetap disertakan untuk mendemonstrasikan pemahaman konsep CI/CD dan GitHub Secrets.

🖥️ Local Execution Result

Karena adanya limitasi pada infrastruktur cloud di atas, berikut adalah bukti bahwa seluruh skenario pengujian (CRUD) berhasil dijalankan secara lokal: Test Success

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors