Thursday, July 31, 2014

Menggunakan JMeter untuk test service REST

Ada banyak tools untuk melakukan test service REST misalnya Poster plugin, Postman plugin atau bisa juga menggunakan curl dari linux terminal.

Pada kesempatan ini saya ingin membagikan pengalaman menggunakan JMeter untuk test service REST, untuk dapat menggunakan JMeter sebaiknya download dulu di-sini. Bila sudah jalankan JMeter.

Selanjutnya save test plan terlebih dahulu

Isi nama file test plan, misalnya Rest Test Plan.jmx

Kemudian tambahkan elemen Thread Group pada elemen Test Plan, elemen Thread Group berguna untuk men-simulasi-kan jumlah user yang akan melakukan test.

Selanjutnya tambahkan elemen HTTP Request Defaults pada elemen Thread Group yang tadi kita buat, elemen HTTP Request Defaults berguna untuk meng-konfigurasi nilai default untuk setiap pemanggilan HTTP, kenapa pemanggilan HTTP ? karena service REST bekerja menggunakan protokol HTTP.

Isi nilai-nilai default yang mungkin pada elemen HTTP Request Defaults, seperti Server Name or IP dan Port Number

Kemudian tambahkan elemen HTTP Header Manager pada elemen Thread Group yang tadi kita buat, elemen HTTP Header Manager berguna untuk menambahkan header HTTP pada setiap request HTTP seperti Content-Type=application/xml jika data yang dikirim melalui body HTTP berupa dokumen XML.

Karena data yang dikirim melalui body HTTP menggunakan format JSON, maka tambahkan header HTTP yang baru dengan Name = Content-Type, dan Value = application/json

Kemudian tambahkan elemen HTTP Request pada elemen Thread Group yang tadi kita buat, elemen HTTP Request merupakan representasi dari pemanggilan service REST.

Misalkan ingin melakukan pemanggilan service REST pada endpoint URI http://localhost:8089/service/customer/list dengan method HTTP GET, maka konfigurasi pada elemen HTTP Request cukup dengan mengisi Path = service/customer/list dan Method = GET. Sedangkan untuk Server Name or IP dan Port Number sudah dikonfigurasi pada elemen HTTP Request Defaults.

Dan untuk melihat data request dan response dari setiap pemanggilan service REST maka perlu ditambahkan elemen View Result Tree pada elemen Thread Group yang tadi kita buat.

Untuk menambahkan pemanggilan service REST ke endpoint URI yang lain dapat dengan menambahkan elemen HTTP Request lagi pada elemen Thread Group yang sama.

Untuk mulai melakukan test lakukan dengan menekan tombol

Untuk menghapus hasil test pada elemen View Result Tree lakukan dengan menekan tombol

Berikut contoh hasil pemanggilan yang dapat kita lihat pada View Result Tree

Berikut contoh request HTTP yang dikirim ke endpoint URI http://localhost:8089/service/customer/list dengan method HTTP GET

Berikut contoh response HTTP yang didapat dari request HTTP ke endpoint URI http://localhost:8089/service/customer/list dengan method HTTP GET

Sekian blog sederhana penggunaan JMeter untuk test service REST. Semoga bermanfaat.

Selamat Lebaran, mohon maaf lahir batin. :)