Projek ini berisi automation testing sebagai projek akhir kursus QA engineer.
Untuk API test menggunakan public API berikut: https://dummyapi.io/docs
Untuk Web UI Test menggunakan website berikut sebagai target dan pembuatan test scenario: https://www.demoblaze.com/
2. RestAssured
3. Selenium
4. Cucumber
Test dibagi menjadi 2 yaitu :
- Test API (tag @api)

- Test WEB UI (tag @web)

- Test Get List Data
- Test Create New User
- Test Delete User
- Test Update User
- Test Get List of Tags
Tes Web terdiri dari:
- Signup With New Account
- Signup With Account Already Exist
- Login with Valid Account
- Login with Invalid Account
- Description Product Page
- Category Product
- Add to Cart and Remove it
- Checkout
Hasil output lengkap berada di folder reports



- Pada file build.gradle, bagian depedencies. masukan beberapa depedency (untuk api testing) berikut
dependencies {
testImplementation group: 'io.rest-assured', name: 'rest-assured', version: '5.4.0'
implementation group: 'io.cucumber', name: 'cucumber-java', version: '7.15.0'
implementation group: 'org.json', name: 'json', version: '20231013'
testImplementation group: 'io.rest-assured', name: 'json-path', version: '5.3.0'
testImplementation group: 'io.rest-assured', name: 'json-schema-validator', version: '5.3.0'
}
io.rest-assured : library java yang digunakan untuk API Restful, seperti mengirim method GET dan POST, menambahkan header, parameter dan body request serta dapat diintegrasi dengan framework test seperti JUnit dan TestNG io.cucumber : library java yang digunakan untuk membuat scenario dengan gherkin, menerapkan pendekatan BDD org.json : library untuk melakukan input payload menggunakan JSONObject json-path : library yang digunakan untuk membaca letak file json yg akan dijadikan validasi json-schema-validator : library untuk schema validator dengan file yang dibaca json-path
-
buat folder helper, definisikan file dengan nama endpoint.java. fungsinya untuk mendefine endpoint apa saja yang akan digunakan nanti (akan dipanggil)
-
di folder helper, buat file models.java, fungsinya untuk mensetup fungsi/method untuk setupheader, definisi method http request seperti get, post menggunkaan rest assured. method di models akan dipanggil di page nanti
-
buat folder page, buat file dengan nama apipage.java , berisi method-method yang akan digunakan / dipanggil di step def. file di page ini seperti jembatan antara konfigurasi dengan stepdef. isinya seperti prepareURL() dimana baseURL di helper.Endpoint di panggil disini dan akan digunakan stepdef untuk "Given"nya
-
buat folder feature, definiskan api.feature. ini adalah file cucumber yg berisi bahasa gherkin. buat skenario disini. dari sini bisa buat stepdef otomatis dengan "alt+enter" lalu "create step definition" otomatis mengcreate folder stepDef dan file stepfile (Apistep.java)
-
di folder stepDef, definisikan stepfile yg tadi otomatis terbuat (apistep) dengan memanggil method dari folder page, yaitu apipage.java (integrasikan)
-
buat folder runner, buat file runner (ApiRunner.java) untk menjalankan tes dengan cucumber,
plugin pretty : agar saat menjalankan tes di log menjadi lebih terstruktur
glue : unutk menaruh tempat step definition (nama foldernya)
features = nama folder tempat menaruh tes scenario dengan file cucumber
tags : untuk menjalankan tes yang hanya memiliki tag yang sudah ditentukan di file cucumber
monokrom : Ini memastikan keluaran konsol tanpa format warna apa pun, sehingga lebih mudah dibaca di beberapa lingkungan.