- Deskripsi
- Prasyarat
- Cara Menjalankan
- Struktur Folder Project Setelah Program Dijalankan
- Pengujian dan Generate Report
- Pengembang
- Alat dan Teknologi yang Digunakan
Proyek ini adalah aplikasi pengujian otomatis untuk Web Swag Labs (https://www.saucedemo.com/) menggunakan Java, Maven, Cucumber, Selenium, dan JUnit. Pengujian dilakukan untuk memastikan setiap fitur berjalan sesuai dengan spesifikasi requirement dan desainnya.
Proyek ini terdiri dari 5 bagian utama:
- Feature: Berisi file-file gherkin yang berisi skenario pengujian yang ditulis dalam bahasa manusia yang mudah dimengerti oleh semua pihak terlibat, termasuk pengembang, analis bisnis, dan penguji. Ini terdapat di
src/test/resources - StepDefinitions: Berisi file-file yang terdapat definisi langkah-langkah (steps) yang sesuai dengan pernyataan-pernyataan dalam file fitur. Anotasi @Given, @When, dan @Then menandai langkah-langkah yang sesuai dengan langkah-langkah fitur.
- Actions: Berisi file-file yang terdapat code interaksi atau operasi yang dilakukan pada elemen-elemen web.
- Locator: Berisi file-file yang terdapat code untuk menemukan elemen di halaman web agar bisa diinteraksikan oleh skrip pengujian.
- Runner: Berisi file untuk menjalankan web automation testing.
Terdapat 2 testing yang dilakukan di proyek ini:
- Web Automation Testing: Pengujian otomatis dilakukan pada web Swag Labs (https://www.saucedemo.com/). Pengujian dilakukan untuk memastikan setiap fitur berjalan sesuai dengan spesifikasi requirement dan desainnya.
- API Testing: Pengujian otomatis dilakukan pada User Controller API Dummy (https://dummyapi.io/). Pengujian dilakukan untuk memastikan setiap method API untuk User Controller berjalan sesuai dengan API Contract.
-
Pastikan untuk mengklon repository ini ke dalam direktori lokal Anda dengan perintah:
git clone https://github.com/mentarialysias/FinalProjectAutomation.gitIni akan mendownload salinan proyek ke komputer Anda.
-
Pastikan Anda telah menginstal Java JDK versi 17. Anda dapat mengunduh dan menginstal Java JDK dari situs resminya: Java SE Development Kit 16 Downloads.
Untuk memeriksa apakah Java JDK sudah terinstal, jalankan perintah berikut di terminal:
java -version -
Pastikan Anda telah menginstal Apache Maven. Maven adalah alat manajemen proyek yang digunakan untuk mengelola dependensi dan membangun proyek Java. Anda dapat mengunduh dan menginstal Maven dari situs resminya: Apache Maven Download. Untuk memeriksa apakah Maven sudah terinstal, jalankan perintah berikut di terminal:
mvn -v -
Pastikan Anda telah menginstal plugin
Cucumber for JavadanGherkinsuntuk mendukung pengujian otomatis. Bila Anda menggunakan IntelliJ, Anda bisa menginstalnya dari plugin dengan menggunakan shortcutctrl + alt + s, lalu instal plugin yang diperlukan. Jangan lupa untuk merestart IDE setelah plugin berhasil ditambahkan.

-
Buka proyek dengan IDE favorit Anda. Disarankan untuk menggunakan IntelliJ IDEA untuk kenyamanan pengembangan.
-
Lakukan build proyek untuk menyiapkan aplikasi dengan perintah build di IDE Anda atau dengan perintah:
mvn clean install -
Jalankan program untuk melakukan pengujian otomatis dengan perintah:
mvn testIni akan menjalankan program secara otomatis dan mengeksekusi skenario berdasarkan isi file test runner yaitu
CucumberRunnerTest.java
Berikut struktur folder project setelah program dijalankan hingga step npm test:
├── src
│ ├── ...
│ └── test
| ├── java
| | ├── apiTesting.utils
| | │ └── HelperClass.java
| │ ├── runner
| │ │ └── cucumberRunnerTest.java
| │ ├── stepdefinitions
| │ │ ├── apiTesting
| │ │ │ ├── CreateApiSteps.java
| │ │ │ ├── DeleteApiSteps.java
| │ │ │ ├── GetApiSteps.java
| │ │ │ ├── Hooks.java
| │ │ │ └── UpdateApiSteps.java
| │ │ └── webAutomation
| │ │ ├── CartPageSteps.java
| │ │ ├── CheckoutPageSteps.java
| │ │ ├── DashboardPageSteps.java
| │ │ ├── DetailProductPageSteps.java
| │ │ ├── EndToEndTestingSteps.java
| │ │ ├── Hooks.java
| │ │ ├── LoginSteps.java
| │ │ ├── MenuPageSteps.java
| │ │ └── StepBySteps.java
| │ └── webAutomation
| │ │ ├── actions
| │ │ │ ├── CartPageActions.java
| │ │ │ ├── CheckoutCompletePageActions.java
| │ │ │ ├── CheckoutInfoPageActions.java
| │ │ │ ├── CheckoutOvwPageActions.java
| │ │ │ ├── DashboardPageActions.java
| │ │ │ ├── DetailProductPageActions.java
| │ │ │ └── LoginPageActions.java
| │ │ ├── locator
| │ │ │ ├── CartPageLocator.java
| │ │ │ ├── CheckoutCompletePageLocator.java
| │ │ │ ├── CheckoutInfoPageLocator.java
| │ │ │ ├── CheckoutOvwPageLocator.java
| │ │ │ ├── DashboardPageLocator.java
| │ │ │ ├── DetailProductPageLocator.java
| │ │ │ └── LoginPageLocator.java
| │ │ └── utils
| │ │ ├── HelperClass.java
| └── resource
| ├── API
| │ ├── CreateMethod.feature
| │ ├── DeleteMethod.feature
| │ ├── GetMethod.feature
| │ └── UpdateMethod.feature
| └── WebAutomation
| ├── CartPage.feature
| ├── CheckoutPage.feature
| ├── DashboardPage.feature
| ├── EndToEndTesting.feature
| ├── LoginPage.feature
| ├── MenuPage.feature
| ├── ProductDetailPage.feature
| └── StepByStep.feature
├── pom.xml
└── README.md
Pengujian dilakukan menggunakan JUnit. Laporan hasil pengujian akan digenerate secara otomatis. Laporan ini terletak pada folder target setelah pengujian otomatis dijalankan. Hasil pengujiannya sebagai berikut:
- Total test: 55
- Successful: 43 (65%)
- Failures: 12 (35%)
- Igroned: 0
Delvito Rahim Derivansyah - 211524039 (@delvitord)
Mentari Ayu Alysia Sudrajat - 211524047 (@mentarialysias)
Yasmin Azizah Tuhfah - 211524064 (@yasminazizahtuhfah)
-
Maven digunakan sebagai alat manajemen proyek untuk mengelola dependensi dan membangun proyek Java. Kunjungi situs web Maven untuk informasi lebih lanjut. -
JUnit adalah framework pengujian unit untuk bahasa pemrograman Java. Kunjungi situs web JUnit untuk informasi lebih lanjut. -
Cucumber for Java adalah framework pengujian otomatis yang menggunakan bahasa Gherkin untuk menulis skenario pengujian. Kunjungi situs web Cucumber untuk informasi lebih lanjut. -
Gherkin adalah bahasa alami yang digunakan untuk menulis skenario pengujian dalam kerangka kerja pengujian perilaku seperti Cucumber. Kunjungi dokumentasi Cucumber untuk informasi lebih lanjut. -
Selenium adalah library untuk otomatisasi pengujian web. Kunjungi situs web Selenium untuk informasi lebih lanjut. -
EdgeDriver adalah driver untuk mengotomatisasi pengujian di browser Microsoft Edge. Kunjungi situs web Selenium untuk informasi lebih lanjut. -
RestAssured adalah library Java yang kuat untuk melakukan pengujian API secara otomatis. Dengan RestAssured, Anda dapat dengan mudah melakukan permintaan HTTP ke endpoint API, memeriksa respons, dan memvalidasi data JSON. Kunjungi dokumentasi RestAssured untuk informasi lebih lanjut. -
Framework pengujian yang digunakan untuk menulis dan menjalankan unit tes dalam proyek Java. Kunjungi situs web TestNG untuk informasi lebih lanjut.



