Saturday, December 16, 2017

Penggunaan Postman Collection Runner

Setelah menjelaskan salah satu fitur Postman yaitu scripting, saya menjadi gatal ingin menjelaskan fitur postman lainnya, yaitu Collection Runner. Sebelum menjelaskan mengenai Collection Runner, saya akan menjelaskan Collection pada Postman.

Collection adalah sekumpulan request yang dapat dikerjakan bersamaan secara serial (bukan paralel) dengan menggunakan Collection Runner, sebagian dari kita hanya menggunakan fitur Collection ini untuk nilai estetika (biar kelihatan rapih) ataupun agar lebih mudah dalam melakukan sharing API.

Contoh Collection pada Postman

Collection Runner ini sangat berguna dalam melakukan automasi testing.

Dalam melakukan Collection Runner, hal pertama yang harus diperhatikan adalah Collection yang akan ditest,seperti yang saya jelaskan sebelumnya Collection Runner melakukan penembakan secara serial bukan paralel, jadi urutan request harus kita perhatikan dengan baik.

Untuk melakukan Collection Runs, kita harus men-klik tombol Runner.

Tombol Runner pada Postman

Setelah men-klik tombol Runner, akan muncul sebuah window dimana kita akan melakukan konfigurasi dari Collection Runs, kita akan menentukan Collection mana yang akan dipakai untuk Collection Runs, environment apa yang akan kita pakai pada, jumlah iterasi dari Collection Runs, delay antar request, bagaimana logging dari Collection Runs berlangsung, dan data yang akan dipakai pada Collection Runs.

Konfigurasi dari Collection Runs

Sebagai contoh saya akan melakukan test Collection Runs dengan menggunakan Collection dari Backend Example Spring Template Nostra, dan berikut hasilnya:

Hasil testing Collection Run dari Backend Example Nostra

Dapat dilihat pada hasil test diatas kita akan mendapatkan HTTP Status Code, lama penerimaan, dan besar dari response yang didapat. bila kita menggunakan scripting untuk melakukan testpun dapat dilihat apakah akan lolos atau gagal. Untuk melihat data dari request yang kita tembakkan dan response yang kita dapatpun cukup mudah, yaitu dengan menklik nama request yang kita tembakkan.

Detil informasi dari request yang ditembakkan dan hasilnya.

Hal ini akan memudahkan kita bila kita ingin melihat perbandingan antar teknologi seperti bila kita ingin membedakan manakah teknologi dengan performa terbaik apakah OSB+BPEL, OSB+BPEL(dengan Java Callout), atau OSB+Spring. Selain itu hal ini akan memudahkan kita dalam melakukan testing dengan request yang sangat banyak.

Collection Runner ini juga menyediakan fitur pengambilan data dari sebuah file sebagai data yang akan dipakai pada request kita, fitur ini pernah saya gunakan dalam melakukan penambahan data dalam table SQL dengan penembakkan dari postman, file yang dapat diterima berbentuk JSON data ataupun CSV data. dalam penggunaannya yang pertama harus kita lakukan adalah menggunakan variabel yang sesuai dengan nama field dari json ataupun dari csv, sebagai contoh:

Penggunaan unregistered environment variable untuk menggunakan data dari field JSON ataupun CSV

Diatas saya menggunakan variabel "path" dan "value", setelah itu kita klik tombol "Select File" pada field Data untuk memilih JSON/CSV file kita, berikut hasi preview dari file CSV yang saya pilih:

Hasil preview dari file CSV yang saya pilih

Dapat dilihat terdapat dua field yaitu path, dan value, jumlah iterasi akan disesuaikan dengan jumlah data yang ada pada file yang saya pilih, namun tetap dapat kita rubah, setelah saya tembakkan berikut request yang saya kirimkan:

Request yang ditembakkan postman

Dapat dilihat url yang sebelumnya adalah postman-echo.com/{{path}} menjadi postman-echo.com/post dan body yang sebelumnya adalah foo {{value}} menjadi foo 1, variabel yang saya gunakan pada request akan diisi oleh data dari file yang saya pilih.

Ada berbagai macam cara dalam mengutilisasikan fitur Collection Runner pada Postman, salah satunya adalah untuk melakukan automasi testing. Fitur dari Collection Runner ini dapat digabungkan dan dimanipulasi dengan fitur Scripting dari Postman untuk menghasilkan sesuatu yang sangat memudahkan kita dalam melakukan testing.

Sekian penjelasan saya untuk kali ini.

Terimakasih.



Sublime Text 3

Halo Nostra Readers!

Kali ini saya akan sharing mengenai Sublime Text.

Apa sih Sublime Text?
Sublime Text merupakan teks editor yang sangat ampuh, cocok digunakan untuk melakukan coding dalam berbagai bahasa, dimana Sublime Text sudah menyediakan format syntax dari bahasa-bahasa pemrograman yang ada. Misal kita akan coding bahasa Java, maka sublime sudah menyediakan formatting pada teks editor, seperti memberikan warna-warna yang berbeda pada syntax Java. Untuk lebih jelas dapat lihat pada gambar dibawah.



dapat dilihat Sublime Text sudah membedakan warna untuk tipe data, nama variabel, nilai, dan nama class yang mana merupakan syntax dari Java itu sendiri.
Versi terbaru dari Sublime Text kali ini adalah versi 3.0. Hingga kini, beberapa bahasa sudah disiapkan seperti pada gambar berikut.


Kemudian kita dapat menambahkan folder proyek kita untuk memudahkan navigasi file ketika menggunakan Sublime Text. Dapat dilakukan dengan klik File lalu Open Folder. Dengan melakukan itu akan muncul tampilan sebagai berikut.



Selain itu, Sublime Text memberikan beberapa fitur yang dapat memudahkan pengguna dalam melakukan coding, misalkan kita ingin mencari suatu file di dalam sebuah proyek yang besar dan rumit, cukup dengan menekan Ctrl + P kita dapat mencari file yang ingin kita cari, baik itu bagian dari nama file, maupun kata dari dalam file yang dibuka dengan tanda '#'.



Sublime Text juga dapat melakukan editing secara paralel. User dapat memilih line mana saja yang ingin diedit dengan Ctrl + klik, lalu dengan mudah mengetik apa yang user inginkan.



Fitur find and replace pada Sublime Text sangat berguna juga. Dengan menekan Ctrl + H, akan diberikan tampilan dibawah sublime text berupa input find dan replace. Disini kita dapat dengan mudah mereplace, baik itu kata maupun variabel yang berulang dengan mudah.



Lalu untuk melakukan comparing coding, Sublime Text dapat memberikan user tampilan layout baik dengan tampilan per kolom ataupun per baris sehingga user dapat dengan mudah melihat code dari file lain dengan mudah.



Masih banyak lagi hal-hal yang bisa dieksplorasi pada Sublime Text ini, seperti mengubah tema sehingga warna-warna pada code kita terasa nyaman untuk kita. Lalu menambah plugin-plugin yang ada pada internet maupun forum nya. Kita juga dapat membaca dokumentasi dari Sublime Text pada link berikut.

Sekian dulu sharing dari saya, semoga bermanfaat dan memudahkan dalam coding!

Happy Coding!

Unit Testing AngularJS Application Using Karma, Jasmine and PhantomJS

Hallo, bersua lagi dengan saya yg kali ini akan membahas mengenai Unit Testing pada aplikasi AngularJS.

Singkatnya unit testing adalah pengujian terkecil dari sebuah code, hal yang diuji tersebut adalah event, method, dan class.

Selayang pandang mengenai Tools yang digunakan:

Karma: Merupakan test runner yang berfungsi mengeksekusi segala test script yang ditulis.

Jasmine: Sebuah framework behaviour driven development untuk menulis test script yang akan dieksekusi oleh karma.

PhantomJS: Merupakan headless browser, yaitu browser yang tidak memiliki interface namun dapat memanipulasi DOM.

sebelumnya kita dapat menginstall karma dengan script berikut:

npm install karma --save-dev

menginstall jasmine:

npm install jasmine --save-dev

dan script install PhantomJS seperti berikut:

npm install phantomjs --save-dev

dan untuk menjalankan phantomjs kita harus menginstall third party yaitu phantom launcher dengan script ini:

npm install karma-phantomjs-launcher


Jadi setelah berhasil terinstall semua tools yang kita butuhkan untuk melakukan unit testing, kurang lebih akan seperti ini directory project yang kita miliki:





Mari Membuat Test Script dengan Jasmine

Jasmine dapat mengeksekusi test script yang dibuat berdasarkan cara penulisan yang sangat mudah. Untuk mengetahui cara menulis dengan menggunakan Jasmine dapat dilihat dokumentasinya disini.

Test script yang saya buat seperti berikut:

TestSpec.js


Controller yang akan diuji:



Untuk menjalankan test script diatas kita harus memasukan filenya pada karma.conf.js. Hal tersebut dapat melihat caranya pada blog saya yang satu ini: http://blog.nostratech.com/2017/12/set-up-karma-pada-grunt-task-runner.html

Running Karma Task Runner:

Untuk melakukan running test script karma, dapat menjalankan command:

karma start karma.conf.js

Hasil test script dapat ditampilkan dalam format txt ataupun html.

Hasil test script seperti ini jika dalam format html:
Hasil test script dalam format txt:


Menarik bukan? 

Demikianlah yang bisa saya bagikan, selamat mencoba kawan and happy coding :D



Scripting pada Postman

Pada kesempatan ini saya ingin menjelaskan fitur yang sangat membantu dari Postman yaitu fitur scripting, dengan fitur ini kita dapat menambahkan dynamic behavior pada Request yang kita buat. Fitur scripting ini menggunakan bahasa javascript.

Ada dua jenis scripting yang dapat dibuat, masing-masing dibedakan waktu pengerjaannya, yaitu:

  1. Pre-Request Script, yang dikerjakan pada request sebelum request dikirim ke server. Untuk mengakses fitur ini dapat dilakukan dengan mengakses tab Pre-request Script pada Postman.
  2. Test Script, yang dikerjakan setelah mendapatkan response balik dari server. Untuk mengakses fitur ini dapat dilakukan dengan mengakses tab Test pada Postman.
Tab Pre-request Scipt dan Test Script pada Postman

Fitur ini sangat membantu saya pada saat melakukan testing pada postingan saya sebelumnya yang menjelaskan mengenai OAuth. Pada saat testing OAuth kita dapat menyimpan data token yang didapat pada environment variable.

Contoh Test OAuth

Dapat dilihat pada testing diatas kita mendapatkan token akses untuk mengakses OAuth protected content, tetapi mengetik berulang-ulang ataupun melakukan copas untuk mengakses setiap OAuth protected content sangat merepotkan, untuk itu kita akan menyimnpan token akses ini kedalam sebuah variabel, dan untuk melakukan penyimpanan ini kita dapat menggunakan scripting.

Berikut script untuk menyimpan token akses yang saya gunakan:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.access_token);

Pada script diatas saya melakukan parsing JSON Body dan mengambil data dari field access_token lalu menyimpannya pada variabel token. dikarenakan data yang diambil dari response maka script diatas saya simpan pada tab Test.

Script penyimpanan token pada tab Test

Tentu saja sebelum melakukan penembakan, kita perlu menambahkan Environment terlebih dahulu, agar token dapat disimpan.

Setelah melakukan penembakan API dapat dilihat pada Environment yang kita ciptakan bertambah sebuah variabel yang bernama token.

variabel token pada environment yang diciptakan

Terakhir saya menggunakan variabel token pada tab Authorization, mengganti tipe Authorization menjadi "Bearer Token" dan mengisi token dengan {{token}} (atau {{nama_variabel_yang_digunakan}}) .

Menggunakan token yang disimpan untuk mengakses OAuth Protected Content

Ada berbagai macam cara dalam mengutilisasikan fitur scripting pada Postman, salah satunya adalah untuk menyimpan token, hal ini akan sangat membantu kita dalam melakukan testing API.

Sekian penjelasan saya untuk kali ini.

Terimakasih.

Angular Command Line Interface

Pada kesempatan ini saya ingin mencoba menjelaskan sedikit yang saya tahu tentang Command yang ada pada Angular. Pertama tama pada versi Angular (4) sudah bisa menjalankan Command Line Interface (CLI) untuk membuat Component, Service, Routing dll, yang pada AngularJS masi harus dilakukan secara manual. Sebelum kita lebih jauh, untuk menjalankan CLI, kita harus terlebih dahulu menginstall Library Angular-CLI secara global terlebih dahulu.


Setelah menginstall kita sudah bisa menjalankan CLI nya. Pertama tama untuk membuat project Angular baru, kita bisa jalankan command berikut


Kemudian masuk ke project directory my-app, kemudian jalankan ng serve --open. Maksudnya adalah untuk menjalankan project angular tersebut dan flag --open untuk otomatis membuka browser nya. Jika sudah, maka akan terlihat seperti ini.


Setelah itu, mari kita membuat Component, Service dan Routing. Untuk membuat component, jalankan command berikut. 


Command di atas dipakai untuk membuat Heroes Component. Secara otomatis, app.module.ts akan terupdate jika kita membuat component baru. Kalau untuk membuat Service, bisa gunakan command berikut.


Command di atas dipakai untuk membuat Hero Service. Untuk membuat Routing, bisa gunakan command berikut.


Command di atas dipakai untuk membuat routing, flag --flat berarti file yang digenerate akan berada dalam folder src/app. Sedangkan flag --module=app dipakai untuk secara otomatis file yang digenerate mengupdate app.module.ts

Sekian command yang biasa digunakan pada Angular 4. Semoga bermanfaat !