Post Categories

Engineering

Postman, ‘Tukang Post’ Membantu Testing API

By

|

By

Jika kalian seorang developer, pasti tidak asing dengan Postman. Namun, untuk yang baru terjun ke dunia perkodingan, pasti akan merasa aneh mendengar istilah tersebut, dan pasti akan bertanya-tanya ‘Maksudnya, tukang pos yang banting setir jadi developer, begitu?’

Sebelum para newbie semakin nyasar dan tersesat untuk menebak -nebak siapa sih si Postman ini, Refactory akan memberikan penjelasan apa itu Postman yang sering digunakan para developer atapun QA di dunia pemograman.

Postman yang dimaksud di sini merupakan sebuah nama dari tools yang dapat membantu developer ataupun QA dalam melakukan testing API (Application Programming Interface). Postman sendiri memiliki fitur yang dapat digunakan secara individu ataupun berkelompok (team), dapat juga digunakan secara gratis ataupun berbayar. Postman juga dapat digunakan untuk mengumpulkan API yang dapat dibuat menjadi sebuah dokumentasi utuh untuk satu projek tertentu. Jika dokumentasi API dibuat lengkap dengan memanfaatkan Postman akan mempermudah dalam proses pengembangan projek, karena setiap developer bisa memiliki acuan yang jelas untuk penggunaan setiap API. Sebenarnya terdapat manfaat Postman yang lainnya, namun untuk kali ini kita akan fokus membahas manfaat Postman untuk membantu para developer dalam melakukan testing API.

Setelah mendengar sedikit penjelasan tentang Postman di atas, pasti kalian semakin penasaran bagaimana cara penggunaan dari Postman itu sendiri kan ? Jika kalian semakin tertarik, kalian bisa mengawalinya dengan menginstall Postman pada device kalian masing-masing, dan akan kita pelajari satu persatu, apa saja yang ada di dalam Postman.

Mulai Installasi

Melakukan instalasi Postman sebenarnya cukup mudah. Kalian bisa mengikuti petunjuk-petunjuk yang sudah tertulis di bawah ini :

  1. Pertama, download file installernya di https://www.postman.com/downloads/
  2. Jalankan file installer (file dalam format .exe) yang sudah terdownload
  3. Buat akun atau buat akun Postman baru, atau dapat juga untuk melewati langkah ini, tanpa harus login.
  4. Aplikasi Postman sudah dapat digunakan

Mengenal Workspace Postman

Perhatikan gambar di bawah ini. Gambar di bawah ini, merupakan ruang kerja (workspace) dari postman.

Di bawah ini merupakan beberapa fitur yang sering digunakan pada postman :

  1. New – kalian bisa membuat request, collection, atau environtment baru di bagian ini. Terdapat juga pilihan lanjutan untuk membuat API Documentation, Mock Server baru dan lain lain
  2. Import – digunakan untuk mengimport kumpulan atau collection API dari file, folder, link, raw text, ataupun fitur yang terbaru dapat mengimpor collection API dari code repository
  3. Open New – digunakan untuk open new tab, postman window ataupun runner window
  4. History : Request-request API yang sebelumnya sudah diuji akan tersimpan di bagian history ini
  5. Collection : API yang dikumpulkan sesuai project atau fungsionalitas yang sama. Beberapa API dapat dikumpulkan dalam satu folder yang sama, menyesuaikan penggunaannya pada projek.
  6. Request Tab : menampilkan tab atau judul request API yang sedang dikerjakan
  7. HTTP Request : Jika kalian menekan pada tanda panah, akan terlihat daftar request seperti GET, POST, PUT , DELETE dan lainnya. Daftar request ini sebagai action yang akan dijalankan untuk Request URL
  8. Request URL : disebut juga dengan sebutan ‘endpoint’ , merupakan tujuan API yang akan diuji
  9. Send – untuk menjalankan perintah menuju URL yang tertulis
  10. Save – berguna untuk menyimpan request baru pada collection ataupun menyimpan request baru yang telah mengalami perubahan
  11. Params : Kita dapat menambah parameter tertentu apabila diperlukan di sini (biasanya jika kita menggunakan request dalam bentuk GET)
  12. Authorization : untuk mengakses API terkadang dibutuhkan otorisasi yang tepat seperti dalam bentuk bearer token, nama , dan password.
  13. Headers : untuk pengaturan headers
  14. Body : Dapat memberikan detail-detail tertentu yang akan melengkapi sebuah request ( biasanya apabila kita menggunakan request POST). Terdapat beberapa jenis penggunaan body pada Postman, antara lain yaitu  none , form-data, x-www-form-urlencode, raw , binary, dan graphQL
  15. Response : merupakan output yang akan didapat setelah menjalankan sebuah request. Response bisa jadi sukses (sesuai dengan apa yang diharapkan), bisa juga gagal.

Langkah Pertama, Jalankan Servermu!

Sebelum kita menggunakan postman untuk melakukan pengujian API, silahkan untuk menjalankan server terlebih dahulu agar selanjutnya dapat diakses oleh Postman. Pada kasus kali ini saya menggunakan framework laravel dengan local database. Berikut contoh router untuk API yang akan diuji di Postman. Skenarionya adalah kita akan menampilkan seluruh data team, menampilkan data team secara spesifik (id tertentu), menambahkan data team, update data team, dan delete data team.

Dalam pembuatan router pada laravel untuk paket lengkap (post,get,update, dan delete), kalian bisa menuliskan ‘resource’ saja untuk keempat method / action tersebut.

Atau kalau kalian ingin menjabarkannya, agar lebih detail , bisa juga ditulis seperti ini   :

Jika kalian tertarik dan ingin lebih tahu tentang Laravel, kalian bisa mempelajarinya di Refactory Courses.

Let’s Go ! Testing API dengan Postman

Setelah kita selesai mempersiapkan server, akhirnya kita dapat melakukan uji coba pada API dengan skenario yang telah tertulis sebelumnya. Mari kita coba satu persatu.

Uji Coba API GET (menampilkan seluruh data team)

Untuk menampilkan semua data team, kita akan menggunakan route : Route::get('team', 'TeamController@index');

Maka pada request url di Postman, kita tuliskan seperti ini  : http://localhost:8000/api/team . Karena di sini saya menggunakan server dan local database di port 8000, maka base url yang saya panggil di urlnya saya tuliskan http://localhost:8000  sebagai base urlnya.

Kemudian jangan sampai lupa untuk mengubah method di http requestnya menjadi GET (sesuiakan dengan apa yang tertulis pada router laravel). Kemudian tekan tombol SEND makan akan muncul response, menampilkan seluruh data team dalam bentuk JSON (dalam hal ini , jumlah team mengikuti dengan data yang terdapat di database).

GET(parameter) (menampilkan data team dengan id tertentu)

Selain untuk menampilkan keseluruhan data team yang ada, method GET pada API juga dapat digunakan untuk menampilkan data spesifik (dengan id tertentu) yang disesuaikan dengan router yang telah dibuat di laravel. Di kasus ini, router yang akan kita akses adalah Route::get('team/{id}', 'TeamController@show');. Kemudian cara untuk menuliskannya pada request url di Postmannya seperti ini :

Yang membedakan dengan implementasi GET(all data) sebelumnya, kita perlu menuliskan parameter query pada urlnya yang mana parameter tersebut merupakan id team yang akan dipanggil.

POST (menambah data team)

API yang menggunakan POST, perlakuannya sedikit berbeda. Kita perlu memanipulasi data, menambahkan data untuk endpointnya (tambahkan pada bagian body postman). Di sini, saya akan mencontohkan pengisian body menggunakan raw JSON. Untuk value-value tertentu yang diperlukan, sesuaikan dengan yang dibutuhkan. Karena untuk data team ini kita diharuskan mengisi data yang bersifat required yaitu name dan cost. Maka kita akan menuliskan body Postman sesuai dengan variabel tersebut.

Kemudian kita dapat melihat response dari hasil yang sudah kita post tadi :

PUT (melakukan perubahan data team dengan id tertentu)

Untuk penggunaan method PUT yang akan diujikan menggunakan Postman, perlakuannya hampir sama seperti waktu kita menggunakan GET yang menampilkan id tertentu. Namun, bedanya yang terdapat pada PUT, kita perlukan menambahkan isian body pada Postman sebagai data baru yang akan menggantikan data yang lama. Seperti pada contoh di bawah ini :

Kemudian, kita akan mendapatkan hasil response dengan data terbaru dari yang sudah kita ubah tadi

DELETE (menghapus data team id tertentu)

Untuk menguji API method delete, tinggal kita akses sesuai dengan router serta tentukan id tertentu yang akan dihapus. Jangan lupa untuk mengubah method menjadi DELETE pada Postman.

Semoga bermanfaat!

Oh iya, jangan lupa cek online course kita ya, kalo kamu ingin meningkatkan keterampilan pemrogramanmu!

Hubungkan dengan kami

Ikuti refactory

Artikel Populer


( ! ) Deprecated: jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead. in /apps/refactory-portal/wp-includes/functions.php on line 5049
Call Stack
#TimeMemoryFunctionLocation
10.0000404544{main}( ).../index.php:0
20.0001404816require( '/apps/refactory-portal/wp-blog-header.php ).../index.php:17
30.324312686720require_once( '/apps/refactory-portal/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.334512763120include( '/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php ).../template-loader.php:106
50.448117801976Elementor\Modules\PageTemplates\Module->print_content( ).../header-footer.php:19
60.448117802352call_user_func:{/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/module.php:207}( $function_name = [0 => class Elementor\Modules\PageTemplates\Module { protected $print_callback = ...; private ${Elementor\Core\Base\Module}reflection = NULL; private ${Elementor\Core\Base\Module}components = [...]; private ${Elementor\Core\Base\Base_Object}settings = NULL }, 1 => 'print_callback'] ).../module.php:207
70.448117802432Elementor\Modules\PageTemplates\Module->print_callback( ).../module.php:207
80.448417802432the_content( $more_link_text = ???, $strip_teaser = ??? ).../module.php:190
90.448717802456apply_filters( $tag = 'the_content', $value = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T' ).../post-template.php:253
100.448717802856WP_Hook->apply_filters( $value = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T', $args = [0 => '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T'] ).../plugin.php:212
110.451417833832Elementor\Frontend->apply_builder_in_content( $content = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T' ).../class-wp-hook.php:287
120.451417985760Elementor\Frontend->get_builder_content( $post_id = 7366, $with_css = ??? ).../frontend.php:898
130.452118286472Elementor\Core\DocumentTypes\Post->print_elements_with_wrapper( $elements_data = [0 => ['id' => '6d7b8e43', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '31743a57', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '1bf493a7', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '66bc9faa', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '4bb1a974', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 5 => ['id' => '760eb77b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../frontend.php:984
140.458318452752Elementor\Core\DocumentTypes\Post->print_elements( $elements_data = [0 => ['id' => '6d7b8e43', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '31743a57', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '1bf493a7', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '66bc9faa', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '4bb1a974', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 5 => ['id' => '760eb77b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../document.php:933
150.556220509128Elementor\Element_Section->print_element( ).../document.php:1296
160.561820618984Elementor\Element_Section->print_content( ).../element-base.php:650
170.685323028304Elementor\Element_Column->print_element( ).../element-base.php:907
180.688923129888Elementor\Element_Column->print_content( ).../element-base.php:650
190.742625088840Elementor\Element_Section->print_element( ).../element-base.php:907
200.746925198696Elementor\Element_Section->print_content( ).../element-base.php:650
210.747025200152Elementor\Element_Column->print_element( ).../element-base.php:907
220.750325301736Elementor\Element_Column->print_content( ).../element-base.php:650
230.755825429568OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->print_element( ).../element-base.php:907
240.885830312912OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->enqueue_scripts( ).../element-base.php:682
250.885830313288Elementor\Utils::handle_deprecation( $item = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper' ).../element-base.php:152
260.885930314152_deprecated_file( $file = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper', $message = ??? ).../utils.php:487
270.885930314472trigger_error( $message = 'jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead.', $error_type = 16384 ).../functions.php:5049

Case Studies


( ! ) Deprecated: jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead. in /apps/refactory-portal/wp-includes/functions.php on line 5049
Call Stack
#TimeMemoryFunctionLocation
10.0000404544{main}( ).../index.php:0
20.0001404816require( '/apps/refactory-portal/wp-blog-header.php ).../index.php:17
30.324312686720require_once( '/apps/refactory-portal/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.334512763120include( '/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php ).../template-loader.php:106
50.448117801976Elementor\Modules\PageTemplates\Module->print_content( ).../header-footer.php:19
60.448117802352call_user_func:{/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/module.php:207}( $function_name = [0 => class Elementor\Modules\PageTemplates\Module { protected $print_callback = ...; private ${Elementor\Core\Base\Module}reflection = NULL; private ${Elementor\Core\Base\Module}components = [...]; private ${Elementor\Core\Base\Base_Object}settings = NULL }, 1 => 'print_callback'] ).../module.php:207
70.448117802432Elementor\Modules\PageTemplates\Module->print_callback( ).../module.php:207
80.448417802432the_content( $more_link_text = ???, $strip_teaser = ??? ).../module.php:190
90.448717802456apply_filters( $tag = 'the_content', $value = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T' ).../post-template.php:253
100.448717802856WP_Hook->apply_filters( $value = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T', $args = [0 => '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T'] ).../plugin.php:212
110.451417833832Elementor\Frontend->apply_builder_in_content( $content = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T' ).../class-wp-hook.php:287
120.451417985760Elementor\Frontend->get_builder_content( $post_id = 7366, $with_css = ??? ).../frontend.php:898
130.452118286472Elementor\Core\DocumentTypes\Post->print_elements_with_wrapper( $elements_data = [0 => ['id' => '6d7b8e43', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '31743a57', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '1bf493a7', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '66bc9faa', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '4bb1a974', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 5 => ['id' => '760eb77b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../frontend.php:984
140.458318452752Elementor\Core\DocumentTypes\Post->print_elements( $elements_data = [0 => ['id' => '6d7b8e43', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '31743a57', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '1bf493a7', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '66bc9faa', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '4bb1a974', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 5 => ['id' => '760eb77b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../document.php:933
150.556220509128Elementor\Element_Section->print_element( ).../document.php:1296
160.561820618984Elementor\Element_Section->print_content( ).../element-base.php:650
170.685323028304Elementor\Element_Column->print_element( ).../element-base.php:907
180.688923129888Elementor\Element_Column->print_content( ).../element-base.php:650
190.900530649488Elementor\Element_Section->print_element( ).../element-base.php:907
200.904230759344Elementor\Element_Section->print_content( ).../element-base.php:650
210.904230760800Elementor\Element_Column->print_element( ).../element-base.php:907
220.907530862384Elementor\Element_Column->print_content( ).../element-base.php:650
230.913430990704LivemeshAddons\Widgets\LAE_Posts_Carousel_Widget->print_element( ).../element-base.php:907
240.993931964800LivemeshAddons\Widgets\LAE_Posts_Carousel_Widget->enqueue_scripts( ).../element-base.php:682
250.994031964800Elementor\Utils::handle_deprecation( $item = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper' ).../element-base.php:152
260.994031965664_deprecated_file( $file = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper', $message = ??? ).../utils.php:487
270.994031965984trigger_error( $message = 'jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead.', $error_type = 16384 ).../functions.php:5049

Tag

Postman

Artikel Terkait

Lihat lebih banyak artikel bagus dari kategori ini!


( ! ) Deprecated: jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead. in /apps/refactory-portal/wp-includes/functions.php on line 5049
Call Stack
#TimeMemoryFunctionLocation
10.0000404544{main}( ).../index.php:0
20.0001404816require( '/apps/refactory-portal/wp-blog-header.php ).../index.php:17
30.324312686720require_once( '/apps/refactory-portal/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.334512763120include( '/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php ).../template-loader.php:106
50.448117801976Elementor\Modules\PageTemplates\Module->print_content( ).../header-footer.php:19
60.448117802352call_user_func:{/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/module.php:207}( $function_name = [0 => class Elementor\Modules\PageTemplates\Module { protected $print_callback = ...; private ${Elementor\Core\Base\Module}reflection = NULL; private ${Elementor\Core\Base\Module}components = [...]; private ${Elementor\Core\Base\Base_Object}settings = NULL }, 1 => 'print_callback'] ).../module.php:207
70.448117802432Elementor\Modules\PageTemplates\Module->print_callback( ).../module.php:207
80.448417802432the_content( $more_link_text = ???, $strip_teaser = ??? ).../module.php:190
90.448717802456apply_filters( $tag = 'the_content', $value = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T' ).../post-template.php:253
100.448717802856WP_Hook->apply_filters( $value = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T', $args = [0 => '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T'] ).../plugin.php:212
110.451417833832Elementor\Frontend->apply_builder_in_content( $content = '<h2>Post Categories</h2>\t\t\n\t\t\t<ul id="main-menu"><li data-vertical-menu=750px><a href="https://refactory.id/blog/">Blog</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-profile/">Profile</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>\n<li data-vertical-menu=750px><a href="https://refactory.id/blog-tips-trick/">Tips &#038; T' ).../class-wp-hook.php:287
120.451417985760Elementor\Frontend->get_builder_content( $post_id = 7366, $with_css = ??? ).../frontend.php:898
130.452118286472Elementor\Core\DocumentTypes\Post->print_elements_with_wrapper( $elements_data = [0 => ['id' => '6d7b8e43', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '31743a57', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '1bf493a7', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '66bc9faa', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '4bb1a974', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 5 => ['id' => '760eb77b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../frontend.php:984
140.458318452752Elementor\Core\DocumentTypes\Post->print_elements( $elements_data = [0 => ['id' => '6d7b8e43', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '31743a57', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '1bf493a7', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '66bc9faa', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '4bb1a974', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 5 => ['id' => '760eb77b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../document.php:933
151.058527082128Elementor\Element_Section->print_element( ).../document.php:1296
161.064527191984Elementor\Element_Section->print_content( ).../element-base.php:650
171.064627193440Elementor\Element_Column->print_element( ).../element-base.php:907
181.068127295024Elementor\Element_Column->print_content( ).../element-base.php:650
191.111228081104OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->print_element( ).../element-base.php:907
201.157228850232OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->enqueue_scripts( ).../element-base.php:682
211.157228850608Elementor\Utils::handle_deprecation( $item = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper' ).../element-base.php:152
221.157228851472_deprecated_file( $file = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper', $message = ??? ).../utils.php:487
231.157328851792trigger_error( $message = 'jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead.', $error_type = 16384 ).../functions.php:5049
×