Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Sabtu, 29 Desember 2018

Postman Runner

empo hari saya di kantor dihadapkan pada suatu isu lagging pada salah satu aplikasi yang di kembangkan di kantor saya. Kebetulan yang menemukan isu lagging tersebut merupakan akun yang memiliki banyak data yang harus diambil dari API, yang kemudian diproses di aplikasi mobile (Android atau iOS).
Dengan petunjuk yang memiliki banyak data, maka saya harus mensimulasikan seperti kasus di atas. Sebenernya ada beberapa cara untuk mengenerate data untuk kebutuhan testing, misalnya :
  • Membuat script khusus untuk generate banyak data (bisa menggunakan bahasa pemrograman tertentu atau scripting menggunakan bash script).
  • Menggunakan Tools Automation Testing seperti Katalon Studio, Tool tersebut dapat melakukan otomasi tes pada beberapa platform seperti, API, Web, dan Mobile.
  • Postman Collection Runner, nah ini yang akan dibahas pada artikel ini. Jadi penjelasannya di bawah ya

Postman

Berikut tampilan Postman di tempat saya
Berikut tampilan Postman di tempat saya
Postman ini tersedia di beberapa platform :
  • OS X
  • Windows
  • Linux
Untuk tata cara pemasangan postman, bisa dilihat di sini. Fitur bawaan postman cukup lengkap, mulai dari Mocking API sampai membuat dokumentasi API juga tersedia.
Fitur-fitur bawaan dari postman
Fitur-fitur bawaan dari postman
Beberapa fitur yang sering saya gunakan di postman :
  • Environment dan Global variabel.
  • Generate code snippets berdasarkan request tertentu.
  • Membuat Collection, untuk mempermudah mengatur beberapa request dijadikan dalam satu folder tertentu.
  • Export/Import atau Sharing Collection.
  • Collection Runner dan Scripting
Postman memungkinkan untuk membuat value suatu variabel bisa diset dengan beberapa cara :
  1. Menggunakan Environment dan Global variabel.
  2. Mendefinisikan variabel pada Pre-request Script menggunakan javascript.
  3. Data files, CSV file ataupun JSON file.
Artinya, kita dapat melakukan beberapa skenario tes seperti, generate banyak data maupun melakukan insert banyak data ke database menggunakan API melalui postman.
Mari kita praktikan satu persatu, tiga cara di atas.

1. Menggunakan Environment dan Global variabel

Kita dapat menuliskan suatu variabel dengan format {{nama_variabel}} pada text field yang ada di postman seperti Body, Headers atau params.
Klik Manage Environment
Klik Manage Environment
Kemudian klik Add
Kemudian klik Add
Isi nama Environment dan variabel yang ingin diset
Isi nama Environment dan variabel yang ingin diset
klik dropdown No Environment ...
klik dropdown No Environment
... dan ubah sesuai nama Environment yang diinginkan, kemdudian variabelnya dapat dipanggil seperti di value yang dikasih kotak kuning
… dan ubah sesuai nama Environment yang diinginkan, kemdudian variabelnya dapat dipanggil seperti di value yang dikasih kotak kuning
Cara di atas hanya untuk menset variabel sekali dan bisa diperbaharui, cocok untuk melakukan setting environment variabel ataupun global variabel yang bersifat tetap. Nah, berarti kita tidak bisa mengenerate banyak data dengan menggunakan cara ini, karena value dari variabelnya hanya diset di awal saja.
Bagaimana cara untuk mengenerate banyak data akan terjawab pada dua poin selanjutnya.

2. Mendefinisikan variabel pada Pre-request Script menggunakan javascript

Ada beberapa snippets yang disediakan :
pm.globals.get("variable_key"); //untuk mengambil variabel global
pm.variables.get("variable_key"); //mengambil variabel lokal
pm.environment.set("variable_key", "variable_value"); //setting environment variabel
pm.globals.set("variable_key", "variable_value"); //setting variabel global
pm.environment.unset("variable_key"); //hapus environment variabel
pm.globals.unset("variable_key"); //hapus variabel global
// melakukan request ke suatu API
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
console.log(response.json());
});
view raw script1.js hosted with  by GitHub
Misalnya kita akan membuat random user dengan script sebagai berikut :
var random = Math.floor(Math.random() * 100000000);
pm.globals.set("user_phone", "+628681"+random);
pm.globals.set("user_email", "u"+random+"@jarjit.com");
pm.globals.set("user_fullname", "u"+random+" jarjit ");
pm.globals.set("user_gender", Math.random() < 0.5 ? "male" : "female");
pm.globals.set("user_dob", "1990-01-01");
pm.globals.set("user_is_public", true);
pm.globals.set("user_description", "hello "+random);
view raw script2.js hosted with  by GitHub
kemudian, kita dapat memanggil variabel yg telah dibuat di pre-request script tadi.
kemudian, kita dapat memanggil variabel yg telah dibuat di pre-request script tadi.
Selanjutnya, untuk dapat melakukan multiple request masuk pada menu Runner
Selanjutnya, untuk dapat melakukan multiple request masuk pada menu Runner
Pilih collection, kemudian pilih Environment, masukan jumlah iterasinya, masukan delaynya juga berapa, atau langsung default 0, kemudian klik tombol biru Run user generator
Pilih collection, kemudian pilih Environment, masukan jumlah iterasinya, masukan delaynya juga berapa, atau langsung default 0, kemudian klik tombol biru Run user generator
Tampilan Runnernya seperti berikut.
Tampilan Runnernya seperti berikut.

3. Data files, CSV file ataupun JSON file

Di sini hanya mencoba CSV file saja, untuk yg JSON file, bisa dicoba sendiri.
Siapkan CSV file, di sini untuk generate data user misalnya.
Misal kita punya data seperti ini
Misal kita punya data seperti ini
Pada tampilan Runner kita set seperti melakukan dengan pre-request script, namun kita milih datanya dari CSV file.
Pada tampilan Runner kita set seperti melakukan dengan pre-request script, namun kita milih datanya dari CSV file.

Kesimpulan

Penggunaan Postman Collection Runner sangat membantu untuk kebutuhan testing berbagai skenario, dengan data set yang bisa didefinisikan sendiri menggunakan data CSV file dan JSON file atau membuat script pre-request.
Selamat Mencoba, dan semoga bermanfaat.

Sumber : https://ajaro.id/blog/2018/12/27/mengenal-postman-collection-runner/?fbclid=IwAR0nTl3QmqugcjpBKoWJdbYaxvh6svs8CYJHluKvmSnOoUspwFW3Lp1-EuU#more-223

Tidak ada komentar:

Posting Komentar