Lembar Contekan XPath Terunggul 2025

Panduan lengkap ini membahas XPath, dari sintaks dasar hingga teknik lanjutan, membantu Anda mahir membuat ekspresi XPath yang kuat & efisien.

Ardianto Nugroho

Ardianto Nugroho

14 July 2025

Lembar Contekan XPath Terunggul 2025

XPath (XML Path Language) adalah bahasa kueri yang kuat yang digunakan untuk menavigasi melalui Document Object Model (DOM) dari dokumen HTML dan XML. Bagi pengembang web, penguji, dan insinyur otomasi, menguasai XPath sangat penting untuk menemukan dan berinteraksi dengan elemen di halaman web secara tepat. Baik Anda mengembangkan pengujian otomatis dengan Selenium, Playwright, atau kerangka kerja pengujian lainnya, atau mengekstrak data dari situs web, XPath memberikan fleksibilitas dan ketepatan yang diperlukan untuk menavigasi bahkan struktur DOM yang paling kompleks.

Panduan komprehensif ini akan membawa Anda melalui semua yang perlu Anda ketahui tentang XPath, dari sintaks dasar hingga teknik lanjutan, membantu Anda menjadi mahir dalam membuat ekspresi XPath yang kuat dan efisien.

Sebelum menyelami lebih dalam tentang XPath, mari kita luangkan waktu sejenak untuk memperkenalkan Apidog, alternatif Postman terbaik yang tersedia saat ini. Apidog menggabungkan dokumentasi API, desain, debugging, pengujian, dan mocking dalam satu platform terpadu.

button

Tidak seperti Postman, Apidog menawarkan antarmuka yang lebih intuitif, fitur kolaborasi tim yang lebih baik, dan integrasi tanpa batas antara desain dan pengujian API. Dengan kemampuan pengujiannya yang kuat, Apidog memudahkan validasi API.

button

Jika Anda bekerja dengan API dan pengujian web, toolset komprehensif Apidog dapat secara signifikan menyederhanakan alur kerja Anda dan meningkatkan produktivitas.

Apa itu XPath?

XPath adalah bahasa kueri yang dirancang untuk memilih node dalam dokumen XML. Karena HTML dapat dianggap sebagai bentuk khusus dari XML, XPath dapat secara efektif diterapkan pada dokumen HTML juga. Ini pertama kali diperkenalkan oleh World Wide Web Consortium (W3C) sebagai bagian dari spesifikasi XSLT 1.0 dan sejak itu menjadi alat penting untuk otomasi web dan ekstraksi data.

XPath berfungsi sebagai bahasa navigasi, memungkinkan Anda untuk melintasi hierarki dokumen HTML dengan mendefinisikan jalur ke elemen seperti bagaimana Anda menavigasi melalui folder dalam sistem file. Apa yang membuat XPath sangat kuat adalah kemampuannya untuk:

Lokator XPath dalam Otomasi Web

Dalam kerangka kerja otomasi web seperti Selenium WebDriver, lokator XPath berfungsi sebagai metode utama untuk mengidentifikasi elemen di halaman web. Sementara lokator lain seperti pemilih CSS, ID, atau nama kelas sering lebih disukai karena kesederhanaan dan kinerjanya, XPath menawarkan fleksibilitas tak tertandingi dalam skenario kompleks.

Berikut adalah beberapa keuntungan utama menggunakan XPath dalam otomasi web:

  1. Fleksibilitas: XPath dapat menemukan elemen berdasarkan konten teks, hubungan induk-anak, dan hubungan saudara, yang tidak dapat dilakukan dengan mudah oleh lokator lain.
  2. Pemilihan Berbasis Teks: XPath memungkinkan Anda menemukan elemen yang berisi teks tertentu, menjadikannya sangat berharga untuk konten dinamis.
  3. Kemampuan Traversal: Anda dapat menavigasi ke atas (ke elemen induk), ke bawah (ke elemen anak), atau ke samping (ke elemen saudara) di pohon DOM.
  4. Operasi Logis: XPath mendukung operator logis seperti and, or, dan not, memungkinkan kondisi pemilihan yang kompleks.

Esensi XPath

Untuk menggunakan XPath secara efektif, penting untuk memahami komponen dan struktur dasarnya.

1. Sintaks dan Struktur

Ekspresi XPath ditulis sebagai serangkaian langkah, dipisahkan oleh garis miring (/), yang menavigasi melalui hierarki node dokumen. Setiap langkah terdiri dari:

Sintaks dasar mengikuti pola ini:

axisname::nodetest[predicate]

Di mana:

2. Sumbu dan Tipe Node Utama

XPath menyediakan berbagai sumbu untuk mendefinisikan hubungan antara node:

Tipe node yang dapat dipilih meliputi:

3. Fungsi Umum

XPath menyertakan banyak fungsi yang meningkatkan kemampuannya:

Tipe XPath

Ada dua pendekatan utama untuk membangun ekspresi XPath: absolut dan relatif.

Ekspresi XPath Absolut

XPath absolut menyediakan jalur lengkap dari root dokumen ke elemen target. Ini dimulai dengan garis miring tunggal (/) dan menyertakan setiap elemen dalam hierarki.

Contoh:

/html/body/div[2]/form/input[3]

Kelebihan:

Kekurangan:

XPath Relatif

XPath relatif dimulai dari titik mana pun dalam dokumen dan menggunakan garis miring ganda (//) untuk menunjukkan bahwa jalur dapat dimulai dari mana saja. Pendekatan ini lebih fleksibel dan tahan terhadap perubahan dalam struktur dokumen.

Contoh:

//input[@id='email']

Kelebihan:

Kekurangan:

Sintaks XPath

Memahami elemen sintaks inti sangat penting untuk membangun ekspresi XPath yang efektif:

Elemen Sintaks Dasar:

Predikat

Predikat adalah kondisi yang diapit tanda kurung siku yang memfilter pemilihan node:

//div[@class='container']        // Memilih elemen div dengan kelas 'container'
//button[text()='Submit']        // Memilih elemen tombol dengan teks 'Submit'
//li[position()=3]               // Memilih elemen li ketiga
//input[@type='text' and @required]  // Memilih elemen input teks yang diperlukan

Pemilih XPath

Pemilih XPath mendefinisikan kriteria untuk memilih node dalam dokumen. Berikut adalah beberapa pola pemilih umum:

Pemilih Elemen:

//div                           // Memilih semua elemen div
//div/p                         // Memilih semua elemen p yang merupakan anak langsung dari div
//div//p                        // Memilih semua elemen p di mana saja di dalam div

Pemilih Atribut:

//*[@id='username']             // Memilih elemen dengan id 'username'
//input[@name='password']       // Memilih input dengan nama 'password'
//a[@href]                      // Memilih semua tautan dengan atribut href
//img[@src='logo.png']          // Memilih gambar dengan src tertentu

Pemilih Posisi:

//tr[1]                         // Memilih elemen tr pertama
//tr[last()]                    // Memilih elemen tr terakhir
//tr[position()>1]              // Memilih semua elemen tr kecuali yang pertama
//ul/li[position() mod 2 = 0]   // Memilih elemen li yang posisinya genap

Pemilih Konten Teks:

//h1[text()='Welcome']          // Memilih h1 dengan teks persis 'Welcome'
//p[contains(text(),'important')]  // Memilih p yang berisi kata 'important'
//label[starts-with(text(),'User')] // Memilih label yang dimulai dengan 'User'

Ekspresi XPath

Ekspresi XPath dapat berkisar dari sederhana hingga kompleks, tergantung pada elemen yang perlu Anda temukan. Berikut adalah beberapa contoh ekspresi yang semakin kompleks:

Ekspresi Sederhana:

//h1                            // Semua elemen h1
//div[@class='header']          // Semua elemen div dengan kelas 'header'
//input[@type='submit']         // Semua tombol submit

Ekspresi Menengah:

//div[contains(@class,'product')]//span[@class='price']  // Rentang harga di dalam div produk
//table//tr[position() > 1]     // Semua baris tabel kecuali header
//form[.//input[@required]]     // Formulir yang berisi input yang diperlukan

Ekspresi Lanjutan:

//div[not(@class='hidden') and contains(@id,'section')]  // Bagian yang terlihat dengan pola ID tertentu
//ul[count(./li) > 5]           // Daftar dengan lebih dari 5 item
//a[contains(@href,'https') and not(contains(@class,'external'))]  // Tautan HTTPS internal

Sumbu XPath

Sumbu mendefinisikan arah navigasi dari node saat ini. Memahami sumbu memungkinkan pemilihan elemen yang lebih canggih:

Sumbu Anak dan Keturunan:

child::div                      // Sama dengan ./div
descendant::p                   // Sama dengan .//p

Sumbu Induk dan Leluhur:

parent::div                     // Div induk dari node saat ini
ancestor::form                  // Formulir leluhur dari node saat ini
ancestor-or-self::div           // Div leluhur atau node saat ini jika itu adalah div

Sumbu Saudara:

following-sibling::li           // Semua saudara li yang mengikuti node saat ini
preceding-sibling::div          // Semua saudara div yang mendahului node saat ini

Sumbu Berguna Lainnya:

following::h2                   // Semua elemen h2 yang muncul setelah node saat ini dalam dokumen
preceding::input                // Semua elemen input yang muncul sebelum node saat ini
self::p                         // Memilih node saat ini jika itu adalah paragraf

Operator XPath

XPath mendukung berbagai operator untuk membuat kondisi kompleks:

Operator Perbandingan:

Operator Logis:

Operator Aritmatika:

Contoh:

//input[@value > 100]           // Input dengan nilai lebih besar dari 100
//div[@class='item' and @id]    // Div dengan kelas 'item' yang juga memiliki ID
//product[price > 50 and price < 100]  // Produk dengan harga antara 50 dan 100
//li[position() mod 2 = 1]      // Item daftar bernomor ganjil

Fungsi XPath

XPath menyediakan banyak fungsi bawaan untuk manipulasi data:

Fungsi String:

//a[contains(text(), 'Sign up')]  // Tautan yang berisi teks "Sign up"
//label[starts-with(@for, 'user')]  // Label dengan atribut 'for' yang dimulai dengan 'user'
//p[string-length(text()) > 100]  // Paragraf dengan teks lebih panjang dari 100 karakter
//div[normalize-space(text())='Hello World']  // Div dengan teks persis (mengabaikan spasi ekstra)

Fungsi Numerik:

//ul[count(li) > 5]             // Daftar dengan lebih dari 5 item
//div[round(number(@data-value)) = 42]  // Div dengan data-value yang dibulatkan menjadi 42
//product[floor(price) = 99]    // Produk dengan harga yang dibulatkan ke bawah menjadi 99

Fungsi Node Set:

//tr[position() = last()]       // Baris tabel terakhir
//div[count(child::*) = 0]      // Elemen div kosong (tidak ada elemen anak)
//div[not(descendant::a)]       // Div yang tidak berisi tautan apa pun

Konsol Debug untuk XPath

Salah satu cara paling efektif untuk mengembangkan dan menguji ekspresi XPath adalah menggunakan alat pengembang browser Anda:

Di Chrome:

  1. Tekan F12 atau Ctrl+Shift+I untuk membuka DevTools
  2. Buka tab Konsol
  3. Gunakan $x("your-xpath-here") untuk mengevaluasi ekspresi XPath
  4. Hasil akan muncul sebagai array elemen yang cocok

Di Firefox:

  1. Tekan F12 atau Ctrl+Shift+I untuk membuka DevTools
  2. Buka tab Konsol
  3. Gunakan $x("your-xpath-here") untuk mengevaluasi ekspresi XPath
  4. Hasil akan muncul sebagai array elemen yang cocok

Di Edge:

  1. Tekan F12 atau Ctrl+Shift+I untuk membuka DevTools
  2. Buka tab Konsol
  3. Gunakan $x("your-xpath-here") untuk mengevaluasi ekspresi XPath
  4. Hasil akan muncul sebagai array elemen yang cocok

Loop umpan balik langsung ini memungkinkan Anda untuk dengan cepat menyempurnakan ekspresi XPath Anda hingga mereka dengan benar mengidentifikasi elemen target.

Tips dan Praktik Terbaik

1. Hindari Kesalahan Umum

Buat Sederhana: Ekspresi XPath yang lebih sederhana lebih mudah dipelihara dan kurang rentan rusak ketika struktur halaman berubah. Usahakan untuk ekspresi ringkas yang langsung menargetkan elemen Anda menggunakan atribut unik.

Hindari Jalur Absolut: Jalur absolut sangat rapuh. Jika ada elemen dalam jalur yang berubah, XPath akan rusak. Gunakan jalur relatif yang berfokus pada pengidentifikasi unik kapan pun memungkinkan.

Bersikap Spesifik: Buat ekspresi Anda se-spesifik yang diperlukan, tetapi tidak lebih. Terlalu spesifik dapat membuat ekspresi rapuh, sementara kurang spesifik mungkin cocok dengan elemen yang tidak diinginkan.

Gunakan Predikat dengan Bijak: Predikat sangat kuat untuk memfilter elemen, tetapi terlalu banyak predikat bersarang dapat membuat ekspresi sulit dibaca dan dipelihara.

Pertimbangkan Kompatibilitas Lintas Browser: Beberapa fitur XPath mungkin bekerja berbeda di berbagai browser. Uji ekspresi Anda di semua browser target untuk memastikan konsistensi.

2. Optimalkan untuk Kinerja

Gunakan Pemilih yang Efisien: Jika memungkinkan, gunakan ID atau pengidentifikasi unik lainnya. Ekspresi //*[@id='username'] umumnya lebih cepat daripada pemilih hierarkis yang kompleks.

Batasi Penggunaan //: Operator garis miring ganda (//) mencari seluruh dokumen, yang bisa lambat. Ketika Anda mengetahui lokasi umum suatu elemen, mulailah dengan jalur yang lebih spesifik.

Cache Elemen: Jika Anda perlu berinteraksi dengan elemen yang sama beberapa kali, simpan referensinya daripada berulang kali menemukannya dengan XPath.

Minimalkan Panggilan XPath: Setiap evaluasi XPath membutuhkan waktu. Kelompokkan operasi jika memungkinkan untuk mengurangi jumlah pencarian.

Uji Kinerja: Jika Anda melihat perlambatan dalam pengujian otomatis Anda, profil mereka untuk mengidentifikasi apakah kueri XPath adalah bottleneck. Pertimbangkan pemilih alternatif jika diperlukan.

3. Debug Secara Efektif

Gunakan DevTools Browser: Sebagian besar browser modern memungkinkan Anda untuk menguji ekspresi XPath langsung di konsol. Ini memberikan umpan balik langsung tentang apakah ekspresi Anda berfungsi.

Output Hasil: Selama pengembangan dan debugging, catat hasil kueri XPath Anda untuk memverifikasi bahwa Anda memilih elemen yang dimaksudkan.

Langkah Melalui Kode: Gunakan breakpoint dan debugging langkah demi langkah dalam kerangka kerja pengujian Anda untuk memeriksa status aplikasi Anda dan hasil XPath.

Komentari XPath Anda: Tambahkan komentar untuk menjelaskan ekspresi XPath yang kompleks, terutama ketika menggunakan fitur lanjutan atau menangani kasus tepi.

Tinjau dan Refaktor Secara Teratur: Saat aplikasi Anda berkembang, tinjau secara berkala ekspresi XPath Anda untuk memastikan mereka tetap andal dan efisien.

Lembar Contekan XPath

Berikut adalah panduan referensi komprehensif untuk ekspresi XPath:

Sintaks XPath Dasar:

/                               // Memilih dari node root
//                              // Memilih node di mana saja dalam dokumen
.                               // Mewakili node saat ini
..                              // Mewakili induk dari node saat ini

Pemilih:

element                         // Memilih semua elemen dengan nama yang diberikan
@attribute                      // Memilih nilai atribut yang ditentukan
*                               // Memilih semua elemen anak
text()                          // Memilih teks di dalam elemen
[predicate]                     // Menambahkan kondisi untuk memfilter node

Predikat:

[name='value']                  // Memilih node dengan nilai atribut yang ditentukan
[position()]                    // Memilih node berdasarkan posisinya
[last()]                        // Memilih node terakhir dari tipe yang diberikan
[contains(@attribute, 'value')] // Memilih node dengan nilai atribut yang mengandung 'value'
[not(predicate)]                // Menegasikan suatu kondisi

Sumbu:

ancestor::                      // Memilih semua leluhur
ancestor-or-self::              // Memilih leluhur dan node saat ini
child::                         // Memilih semua anak
descendant::                    // Memilih semua keturunan
descendant-or-self::            // Memilih keturunan dan node saat ini
following::                     // Memilih semua node berikut
following-sibling::             // Memilih saudara berikut
parent::                        // Memilih node induk
preceding::                     // Memilih semua node sebelumnya
preceding-sibling::             // Memilih saudara sebelumnya
self::                          // Memilih node saat ini

Operator:

=                               // Sama dengan
!=                              // Tidak sama dengan
<                               // Kurang dari
<=                              // Kurang dari atau sama dengan
>                               // Lebih besar dari
>=                              // Lebih besar dari atau sama dengan
and                             // DAN logis
or                              // ATAU logis
not                             // BUKAN logis

Fungsi (Contoh):

name()                          // Mengembalikan nama node saat ini
count(nodes)                    // Mengembalikan jumlah node dalam node-set
concat(string1, string2)        // Menggabungkan dua string
substring(string, start, length) // Mengembalikan substring
contains(string, substr)        // Memeriksa apakah sebuah string mengandung substring
normalize-space(string)         // Menghapus spasi putih di awal/akhir dan menciutkan spasi

Contoh:

/bookstore/book                 // Memilih semua elemen buku di root bookstore
//title[text()='XPath']         // Memilih elemen judul dengan teks 'XPath' di mana saja dalam dokumen
//*[@id='myId']                 // Memilih elemen dengan atribut id sama dengan 'myId'
/bookstore/book[position()=1]   // Memilih elemen buku pertama
//div[@class='highlight']//p    // Memilih elemen p di dalam div dengan kelas 'highlight'
//a[contains(@href, 'example.com')] // Memilih elemen a dengan 'example.com' di atribut href

Teknik XPath Lanjutan

Bekerja dengan ID dan Kelas Dinamis

Kerangka kerja web modern sering menghasilkan ID dan kelas dinamis yang berubah pada setiap pemuatan halaman. Berikut adalah teknik untuk menangani skenario ini:

// Menggunakan pencocokan atribut parsial
//div[contains(@id, 'main-content')]
//button[starts-with(@id, 'submit-')]
//input[ends-with(@id, '-input')] // Catatan: Ini adalah XPath 2.0 dan tidak didukung di semua browser

// Menggunakan pola nama kelas
//div[contains(@class, 'btn') and contains(@class, 'primary')]

Menangani Iframe

Memilih elemen di dalam iframe memerlukan penanganan khusus:

// Pertama, temukan iframe
//iframe[@id='content-frame']

// Kemudian, di Selenium, Anda akan beralih ke konteks iframe sebelum menggunakan XPath untuk menemukan elemen di dalamnya
// driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@id='content-frame']")));

// Setelah beralih, Anda dapat menggunakan XPath secara normal dalam konteks iframe
//button[@id='submit']

Mendeteksi Visibilitas Elemen

XPath itu sendiri tidak dapat secara langsung menentukan apakah suatu elemen terlihat, tetapi Anda dapat memeriksa properti yang sering menunjukkan visibilitas:

// Elemen dengan display:none sering memiliki gaya inline
//div[not(contains(@style, 'display: none'))]

// Elemen mungkin disembunyikan melalui kelas
//div[not(contains(@class, 'hidden'))]

// Elemen mungkin memiliki atribut aria-hidden
//div[not(@aria-hidden='true')]

Menangani Beberapa Elemen dengan Properti yang Sama

Ketika beberapa elemen berbagi atribut atau properti yang sama, Anda dapat menggunakan pengindeksan atau atribut yang lebih spesifik:

// Pilih tombol kedua dengan kelas 'action'
(//button[@class='action'])[2]

// Pilih berdasarkan konten teks dan kelas
//button[@class='action' and contains(text(), 'Save')]

// Pilih berdasarkan elemen di sekitarnya
//div[@class='card']//button[contains(text(), 'View details')]

XPath di Kerangka Kerja Pengujian yang Berbeda

Selenium WebDriver

Selenium menyediakan dukungan langsung untuk lokator XPath:

// Contoh Java
WebElement element = driver.findElement(By.xpath("//button[@id='submit']"));

# Contoh Python
element = driver.find_element(By.XPATH, "//button[@id='submit']")

// Contoh JavaScript
const element = await driver.findElement(By.xpath("//button[@id='submit']"));

Playwright

Playwright mendukung pemilih XPath, meskipun pemilih CSS direkomendasikan untuk kinerja yang lebih baik:

// Contoh JavaScript
const element = await page.locator('xpath=//button[@id="submit"]');
await element.click();

# Contoh Python
element = page.locator('xpath=//button[@id="submit"]')
element.click()

Cypress

Cypress mendukung XPath dengan plugin:

// Pertama instal plugin: npm install -D cypress-xpath

// Tambahkan ke cypress/support/e2e.js:
// require('cypress-xpath')

// Kemudian gunakan dalam pengujian
cy.xpath('//button[@id="submit"]').click()

Contoh XPath Dunia Nyata

Contoh Situs Web E-commerce:

// Temukan semua produk dengan diskon
//div[@class='product'][.//span[@class='discount']]

// Temukan produk dengan harga dalam rentang tertentu
//div[@class='product'][.//span[@class='price' and number(translate(text(), '$', '')) < 100]]

// Temukan produk dengan peringkat 4+ bintang
//div[@class='product'][.//div[@class='rating' and @data-stars >= 4]]

Contoh Validasi Formulir:

// Temukan semua bidang yang diperlukan
//input[@required]

// Temukan bidang dengan kesalahan validasi
//input[../span[@class='error']]

// Temukan label dari bidang yang diperlukan
//label[./following-sibling::input[@required] or ./input[@required]]

Contoh Data Tabel:

// Temukan baris tabel dengan konten tertentu
//table[@id='data']//tr[td[contains(text(), 'Completed')]]

// Temukan sel header untuk kolom tertentu
//table//th[contains(text(), 'Status')]

// Temukan sel di kolom yang sama dengan header tertentu
//table//th[contains(text(), 'Status')]/following-sibling::td

Kesimpulan

Menguasai XPath adalah keterampilan dasar bagi siapa pun yang terlibat dalam otomasi pengujian web atau ekstraksi data. Panduan ini telah membekali Anda dengan pemahaman mendalam tentang esensi XPath, sintaks, pemilih, dan praktik terbaik. Dengan menerapkan strategi ini, Anda dapat mengoptimalkan proses pengujian otomatis Anda, meningkatkan keandalan pengujian, dan dengan percaya diri menavigasi bahkan struktur DOM yang paling kompleks.

Fleksibilitas dan kekuatan XPath menjadikannya alat yang sangat diperlukan dalam toolkit pengujian Anda, terutama ketika berhadapan dengan aplikasi web kompleks di mana lokator yang lebih sederhana mungkin tidak cukup. Sementara pemilih CSS sering lebih disukai karena kinerjanya, ada banyak skenario di mana kemampuan unik XPath—seperti memilih elemen berdasarkan konten teks atau melintasi hierarki DOM—menjadikannya pilihan yang lebih unggul.

Ingatlah untuk memulai dengan ekspresi yang lebih sederhana dan hanya menambahkan kompleksitas sesuai kebutuhan. Tinjau dan refaktor secara teratur ekspresi XPath Anda untuk memastikan mereka tetap efisien dan dapat dipelihara seiring perkembangan aplikasi Anda. Dengan latihan dan penerapan teknik ini, Anda akan mengembangkan keahlian untuk membuat ekspresi XPath yang tepat dan kuat yang tahan uji waktu.

Selamat menguji!

Explore more

Cara Menggunakan OpenAI Sora Secara Gratis: Panduan Lengkap untuk Microsoft Bing Video Creator

Cara Menggunakan OpenAI Sora Secara Gratis: Panduan Lengkap untuk Microsoft Bing Video Creator

💡Ingin alat Pengujian API hebat yang menghasilkan Dokumentasi API yang indah? Ingin platform Terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum? Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!tombol Model teks-ke-video mutakhir OpenAI, Sora, telah mengubah pembuatan konten yang dihasilkan AI dengan kemampuannya menciptakan video yang sangat realistis dari instruksi teks sederhana. Namun, biaya

3 June 2025

Apa itu Ollama? Cara Menginstal Ollama?

Apa itu Ollama? Cara Menginstal Ollama?

💡Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah? Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum? Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau! button Lanskap kecerdasan buatan (AI) terus berkembang dengan kecepatan tinggi, dan Model Bahasa Besar (LLM) menjadi semakin kuat dan mudah diakses. Meskipun banyak orang berinteraksi dengan model

28 April 2025

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?

Ingin Swagger UI dalam Bahasa Indonesia? Artikel ini menjelaskan mengapa tidak ada unduhan resmi gratis dan cara mengaktifkan terjemahan. Jelajahi fitur Swagger dan lihat mengapa Apidog adalah alternatif Swagger superior untuk desain, pengujian, dan dokumentasi API yang terintegrasi.

23 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.