<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: placecel427-source</title>
    <description>The latest articles on DEV Community by placecel427-source (@placecel427source).</description>
    <link>https://dev.to/placecel427source</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3909070%2Fd8976be5-5c5a-4cae-8798-d0b11b7c94b9.png</url>
      <title>DEV Community: placecel427-source</title>
      <link>https://dev.to/placecel427source</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/placecel427source"/>
    <language>en</language>
    <item>
      <title>TestSprite Quick Start Guide - Bahasa Indonesia</title>
      <dc:creator>placecel427-source</dc:creator>
      <pubDate>Sat, 02 May 2026 12:55:15 +0000</pubDate>
      <link>https://dev.to/placecel427source/testsprite-quick-start-guide-bahasa-indonesia-5375</link>
      <guid>https://dev.to/placecel427source/testsprite-quick-start-guide-bahasa-indonesia-5375</guid>
      <description>&lt;h1&gt;
  
  
  TestSprite — Quick Start Guide (Indonesian)
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Apa itu TestSprite?
&lt;/h2&gt;

&lt;p&gt;TestSprite adalah platform otomasi testing terpadu untuk aplikasi web modern. Dengan menganalisis UI Anda secara real-time, TestSprite secara otomatis menghasilkan test cases integrasi yang komprehensif dan memeliharanya seiring perubahan aplikasi Anda.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Masalah yang dipecahkan:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test sulit ditingkatkan saat UI berubah&lt;/li&gt;
&lt;li&gt;Tim QA menghabiskan jutaan jam menulis test yang sama berulang kali&lt;/li&gt;
&lt;li&gt;Test regresi sering gagal karena selector yang tidak valid&lt;/li&gt;
&lt;li&gt;Onboarding engineer testing baru memakan waktu berminggu-minggu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TestSprite menghilangkan 80% dari pekerjaan manual tersebut dengan AI yang memahami aplikasi Anda.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalasi
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Daftar di TestSprite
&lt;/h3&gt;

&lt;p&gt;Kunjungi &lt;a href="https://app.testsprite.com/signup" rel="noopener noreferrer"&gt;https://app.testsprite.com/signup&lt;/a&gt; dan buat akun dengan email kerja Anda. Verifikasi email, selesai.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Hubungkan Aplikasi Anda
&lt;/h3&gt;

&lt;p&gt;Di dashboard TestSprite:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Klik &lt;strong&gt;"Add Project"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Masukkan URL aplikasi web Anda&lt;/li&gt;
&lt;li&gt;TestSprite akan scan UI Anda dalam 2-5 menit&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  3. Self-Healing Tests
&lt;/h3&gt;

&lt;p&gt;Ketika Anda update UI, TestSprite otomatis:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mendeteksi perubahan selector&lt;/li&gt;
&lt;li&gt;Menemukan selector baru&lt;/li&gt;
&lt;li&gt;Test berjalan lagi tanpa intervensi manual&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Test Pertama Anda
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Menghasilkan Test Cases
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Buka tab &lt;strong&gt;"Generated Tests"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Lihat test suite yang dibuat AI&lt;/li&gt;
&lt;li&gt;Klik &lt;strong&gt;"Run All Tests"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Test akan dijalankan di berbagai browser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chrome (latest)&lt;/li&gt;
&lt;li&gt;Firefox (latest)&lt;/li&gt;
&lt;li&gt;Safari (latest)&lt;/li&gt;
&lt;li&gt;Edge (latest)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Hasil Test
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✅ Passed: X test&lt;/li&gt;
&lt;li&gt;❌ Failed: Y test (dengan screenshot)&lt;/li&gt;
&lt;li&gt;⏱️ Waktu eksekusi total&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Integrasi CI/CD
&lt;/h2&gt;

&lt;h3&gt;
  
  
  GitHub Actions
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run TestSprite Tests&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;pull_request&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run TestSprite&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;testsprite/action@v1&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;project-id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.TESTSPRITE_PROJECT_ID }}&lt;/span&gt;
          &lt;span class="na"&gt;api-key&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.TESTSPRITE_API_KEY }}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  GitLab CI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;stages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;test&lt;/span&gt;

&lt;span class="na"&gt;testsprite&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;stage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;test&lt;/span&gt;
  &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;testsprite/runner:latest&lt;/span&gt;
  &lt;span class="na"&gt;script&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;testsprite run --project-id $TESTSPRITE_PROJECT_ID&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Jenkins
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight groovy"&gt;&lt;code&gt;&lt;span class="n"&gt;pipeline&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;stages&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;stage&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"TestSprite"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;steps&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="s2"&gt;"testsprite run"&lt;/span&gt;
      &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Kategori Test yang Didukung
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Form Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Validasi input&lt;/li&gt;
&lt;li&gt;Submit form&lt;/li&gt;
&lt;li&gt;Error handling&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Navigation Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Link internal&lt;/li&gt;
&lt;li&gt;Breadcrumb&lt;/li&gt;
&lt;li&gt;Menu dropdown&lt;/li&gt;
&lt;li&gt;Pagination&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. User Interaction Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Click events&lt;/li&gt;
&lt;li&gt;Hover effects&lt;/li&gt;
&lt;li&gt;Keyboard shortcuts&lt;/li&gt;
&lt;li&gt;Modal handling&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Data Presentation Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Table rendering&lt;/li&gt;
&lt;li&gt;List pagination&lt;/li&gt;
&lt;li&gt;Search functionality&lt;/li&gt;
&lt;li&gt;Empty states&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. API Integration Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;POST/GET/PUT/DELETE&lt;/li&gt;
&lt;li&gt;Error handling&lt;/li&gt;
&lt;li&gt;Rate limiting&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tips &amp;amp; Tricks
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Jangan Manual Test Lagi
&lt;/h3&gt;

&lt;p&gt;Setelah TestSprite setup, AI lebih cepat dan konsisten.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Update dengan Percaya Diri
&lt;/h3&gt;

&lt;p&gt;Refactor tanpa takut memecah sesuatu.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Regression Before Deploy
&lt;/h3&gt;

&lt;p&gt;Validasi seluruh aplikasi dalam 5 menit sebelum production release.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Monitor Test Trends
&lt;/h3&gt;

&lt;p&gt;Dashboard menunjukkan pass rate, execution time, dan flaky tests.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Share Reports
&lt;/h3&gt;

&lt;p&gt;Export HTML/PDF dan kirim ke stakeholder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Application tidak bisa diakses
&lt;/h3&gt;

&lt;p&gt;Jika app berjalan locally, expose dengan ngrok:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ngrok http 3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lalu setup TestSprite dengan URL ngrok.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test sering timeout
&lt;/h3&gt;

&lt;p&gt;Naikkan timeout configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"timeout"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;45000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"apiWaitTime"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10000&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Dynamic elements tidak terdeteksi
&lt;/h3&gt;

&lt;p&gt;Tambahkan indikator untuk TestSprite:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;testsprite&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;wait&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;content-loaded&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Dynamic content */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Langkah Selanjutnya
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;✅ Daftar di &lt;a href="https://app.testsprite.com" rel="noopener noreferrer"&gt;https://app.testsprite.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;✅ Setup project Anda&lt;/li&gt;
&lt;li&gt;✅ Jalankan test pertama&lt;/li&gt;
&lt;li&gt;✅ Integrasikan dengan CI/CD&lt;/li&gt;
&lt;li&gt;✅ Monitor dashboard setiap hari&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Support
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📧 Email: &lt;a href="mailto:support@testsprite.com"&gt;support@testsprite.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 Chat: app.testsprite.com/chat&lt;/li&gt;
&lt;li&gt;📖 Docs: &lt;a href="https://docs.testsprite.com" rel="noopener noreferrer"&gt;https://docs.testsprite.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐛 Issues: &lt;a href="https://github.com/testsprite/issues" rel="noopener noreferrer"&gt;https://github.com/testsprite/issues&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Selamat testing! 🚀&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Full translation also available on GitHub Gist:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://gist.github.com/placecel427-source/ec857abad852411161ad34d1c0b0f68d" rel="noopener noreferrer"&gt;https://gist.github.com/placecel427-source/ec857abad852411161ad34d1c0b0f68d&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>devops</category>
      <category>indonesian</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>TestSprite — Panduan Cepat (Indonesian Translation)</title>
      <dc:creator>placecel427-source</dc:creator>
      <pubDate>Sat, 02 May 2026 12:54:44 +0000</pubDate>
      <link>https://dev.to/placecel427source/testsprite-panduan-cepat-indonesian-translation-119b</link>
      <guid>https://dev.to/placecel427source/testsprite-panduan-cepat-indonesian-translation-119b</guid>
      <description>&lt;h1&gt;
  
  
  TestSprite — Panduan Cepat
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Apa itu TestSprite?
&lt;/h2&gt;

&lt;p&gt;TestSprite adalah platform otomasi testing terpadu untuk aplikasi web modern. Dengan menganalisis UI Anda secara real-time, TestSprite secara otomatis menghasilkan test cases integrasi yang komprehensif dan memeliharanya seiring perubahan aplikasi Anda.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Masalah yang dipecahkan:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test sulit ditingkatkan saat UI berubah&lt;/li&gt;
&lt;li&gt;Tim QA menghabiskan jutaan jam menulis test yang sama berulang kali&lt;/li&gt;
&lt;li&gt;Test regresi sering gagal karena selector yang tidak valid&lt;/li&gt;
&lt;li&gt;Onboarding engineer testing baru memakan waktu berminggu-minggu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TestSprite menghilangkan 80% dari pekerjaan manual tersebut dengan AI yang memahami aplikasi Anda.&lt;/p&gt;




&lt;h2&gt;
  
  
  Instalasi
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Daftar di TestSprite
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Kunjungi dashboard&lt;/span&gt;
https://app.testsprite.com/signup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Buat akun dengan email kerja Anda. Verifikasi email, selesai.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Hubungkan Aplikasi Anda
&lt;/h3&gt;

&lt;p&gt;Di dashboard TestSprite:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Klik &lt;strong&gt;"Add Project"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Masukkan URL aplikasi web Anda (misal: &lt;code&gt;https://myapp.local:3000&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;TestSprite akan scan UI Anda
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Optional: Tambahkan snippet ini ke aplikasi Anda untuk integrasi lebih dalam&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://cdn.testsprite.com/v1/agent.js&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;TestSprite&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;projectId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;YOUR_PROJECT_ID&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;YOUR_API_KEY&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Tunggu Analisis AI
&lt;/h3&gt;

&lt;p&gt;TestSprite memindai aplikasi Anda selama 2-5 menit, memetakan setiap halaman, form, tombol, dan interaksi. Ini adalah satu-satunya setup yang Anda butuhkan.&lt;/p&gt;




&lt;h2&gt;
  
  
  Test Pertama Anda
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Menghasilkan Test Cases Otomatis
&lt;/h3&gt;

&lt;p&gt;Setelah analisis selesai:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Buka tab &lt;strong&gt;"Generated Tests"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Lihat test suite yang dibuat AI (sudah terstruktur)&lt;/li&gt;
&lt;li&gt;Klik &lt;strong&gt;"Run All Tests"&lt;/strong&gt; untuk validasi awal
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Test akan dijalankan di berbagai browser:&lt;/span&gt;
&lt;span class="c"&gt;# - Chrome (latest)&lt;/span&gt;
&lt;span class="c"&gt;# - Firefox (latest)&lt;/span&gt;
&lt;span class="c"&gt;# - Safari (latest)&lt;/span&gt;
&lt;span class="c"&gt;# - Edge (latest)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Hasil Test
&lt;/h3&gt;

&lt;p&gt;Setiap test report menampilkan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Passed: X test&lt;/li&gt;
&lt;li&gt;❌ Failed: Y test (dengan screenshot)&lt;/li&gt;
&lt;li&gt;⏱️ Waktu eksekusi total&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Jika ada kegagalan, TestSprite langsung menunjukkan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Error: Element dengan selector ".submit-btn" tidak ditemukan
Saran: Gunakan selector alternatif "button[type="submit"]"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Merawat Test Saat UI Berubah
&lt;/h2&gt;

&lt;p&gt;Ini adalah "magic" TestSprite. Ketika Anda update UI:&lt;/p&gt;

&lt;h3&gt;
  
  
  Skenario: Anda mengganti &lt;code&gt;.primary-button&lt;/code&gt; menjadi &lt;code&gt;[data-testid="primary-btn"]&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Tanpa TestSprite&lt;/strong&gt; (cara lama):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test gagal ❌&lt;/li&gt;
&lt;li&gt;Engineer membuka setiap test file&lt;/li&gt;
&lt;li&gt;Mencari &lt;code&gt;.primary-button&lt;/code&gt; di 50+ test&lt;/li&gt;
&lt;li&gt;Update secara manual&lt;/li&gt;
&lt;li&gt;30 menit yang terbuang&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Dengan TestSprite&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test mulai gagal&lt;/li&gt;
&lt;li&gt;TestSprite mendeteksi perubahan selector&lt;/li&gt;
&lt;li&gt;Secara otomatis menemukan selector baru&lt;/li&gt;
&lt;li&gt;Test berjalan lagi ✅&lt;/li&gt;
&lt;li&gt;Anda tidak perlu berbuat apa-apa&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Proses ini disebut &lt;strong&gt;"Self-Healing Tests"&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Mengintegrasikan dengan CI/CD
&lt;/h2&gt;

&lt;p&gt;TestSprite bekerja dengan pipeline Anda:&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Actions
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run TestSprite Tests&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;pull_request&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Start Application&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npm start &amp;amp;&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run TestSprite Tests&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;testsprite/action@v1&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;project-id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.TESTSPRITE_PROJECT_ID }}&lt;/span&gt;
          &lt;span class="na"&gt;api-key&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.TESTSPRITE_API_KEY }}&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Upload Report&lt;/span&gt;
        &lt;span class="na"&gt;if&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;always()&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/upload-artifact@v2&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;testsprite-report&lt;/span&gt;
          &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;./testsprite-report.html&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  GitLab CI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;stages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;test&lt;/span&gt;

&lt;span class="na"&gt;testsprite&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;stage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;test&lt;/span&gt;
  &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;testsprite/runner:latest&lt;/span&gt;
  &lt;span class="na"&gt;script&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;testsprite run --project-id $TESTSPRITE_PROJECT_ID --api-key $TESTSPRITE_API_KEY&lt;/span&gt;
  &lt;span class="na"&gt;artifacts&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;testsprite-report.html&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Jenkins
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight groovy"&gt;&lt;code&gt;&lt;span class="n"&gt;pipeline&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;stages&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;stage&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"TestSprite"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;steps&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="s2"&gt;"""
          docker run --rm \
            -e TESTSPRITE_PROJECT_ID=$TESTSPRITE_PROJECT_ID \
            -e TESTSPRITE_API_KEY=$TESTSPRITE_API_KEY \
            testsprite/runner:latest \
            testsprite run
        """&lt;/span&gt;
      &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Kategori Test yang Didukung
&lt;/h2&gt;

&lt;p&gt;TestSprite secara otomatis membuat test untuk:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Form Testing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Validasi input (field required, tipe data)
✓ Submit form dengan berbagai kombinasi nilai
✓ Handling error message
✓ Reset form
✓ Penyimpanan draft otomatis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Navigation Testing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Link internal (routing)
✓ Breadcrumb navigation
✓ Menu dropdown
✓ Tab switching
✓ Pagination
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. User Interaction Testing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Click events
✓ Hover effects
✓ Keyboard shortcuts
✓ Scroll behavior
✓ Modal/dialog handling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Data Presentation Testing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Table rendering (sorting, filtering)
✓ List pagination
✓ Search functionality
✓ Data formatting
✓ Empty state handling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. API Integration Testing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ POST/GET/PUT/DELETE endpoints
✓ Error handling (404, 500, timeout)
✓ Data mismatch detection
✓ Rate limiting behavior
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Contoh Test Output
&lt;/h2&gt;

&lt;p&gt;Setelah menjalankan test, Anda melihat:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📊 TestSprite Test Report
══════════════════════════════════════════

Project: My E-Commerce App
Run Date: 2026-05-01 14:35:12 UTC
Duration: 4m 23s

Summary:
  ✅ Passed: 127
  ❌ Failed: 3
  ⏭️  Skipped: 2

Pass Rate: 97.7% ✓

Failed Tests:
─────────────────────────────────────────

1. [FAILED] Login form dengan email invalid
   Expected: Error message muncul
   Actual: Tombol submit tetap aktif
   Screenshot: https://testsprite.com/report/screenshot/1

2. [FAILED] Cart update quantity
   Expected: Total harga update
   Actual: Total harga tetap sama
   Diff: -$15 (expected)

3. [FAILED] Mobile responsive - navigation menu
   Expected: Menu hamburger muncul di width 480px
   Actual: Menu hamburger tidak visible
   Device: iPhone 12 Mini
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Konfigurasi Lanjutan
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Custom Test Parameters
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"testConfig"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"browsers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"chrome"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"firefox"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"safari"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"devices"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"desktop"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tablet"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"mobile"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"timeout"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;30000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"retryFailedTests"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"parallelism"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"screenshotOnFailure"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"videoRecording"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"apiBaseUrl"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.myapp.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"excludePatterns"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"/admin/*"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"/internal/*"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Environment Variables
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Setup untuk berbagai environment&lt;/span&gt;

&lt;span class="c"&gt;# Development&lt;/span&gt;
&lt;span class="nv"&gt;TESTSPRITE_ENV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;dev
&lt;span class="nv"&gt;TESTSPRITE_API_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:3000

&lt;span class="c"&gt;# Staging&lt;/span&gt;
&lt;span class="nv"&gt;TESTSPRITE_ENV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;staging
&lt;span class="nv"&gt;TESTSPRITE_API_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;https://staging.myapp.com

&lt;span class="c"&gt;# Production&lt;/span&gt;
&lt;span class="nv"&gt;TESTSPRITE_ENV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;prod
&lt;span class="nv"&gt;TESTSPRITE_API_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;https://myapp.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Tips &amp;amp; Trik
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Jangan Manual Test Lagi
&lt;/h3&gt;

&lt;p&gt;Setelah TestSprite setup, batalkan kebiasaan manual testing. AI lebih cepat dan konsisten.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Update Kode dengan Percaya Diri
&lt;/h3&gt;

&lt;p&gt;Refactor tanpa takut memecah sesuatu. TestSprite akan memberi tahu Anda dalam menit, bukan jam.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Gunakan untuk Regression Sebelum Deploy
&lt;/h3&gt;

&lt;p&gt;Sebelum production release, biarkan TestSprite memvalidasi seluruh aplikasi dalam 5 menit.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Monitor Test Trends
&lt;/h3&gt;

&lt;p&gt;Dashboard menunjukkan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pass rate over time&lt;/li&gt;
&lt;li&gt;Test execution time trends&lt;/li&gt;
&lt;li&gt;Most flaky tests&lt;/li&gt;
&lt;li&gt;Coverage by feature&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Bagikan Laporan dengan Stakeholder
&lt;/h3&gt;

&lt;p&gt;Export report sebagai HTML/PDF dan kirim ke manager/product owner. Mereka ingin bukti bahwa kualitas terjaga.&lt;/p&gt;




&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Issue: "Application tidak bisa diakses dari TestSprite runner"
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Solusi:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Jika app berjalan locally, expose dengan ngrok&lt;/span&gt;
ngrok http 3000

&lt;span class="c"&gt;# Lalu setup TestSprite dengan URL ngrok&lt;/span&gt;
https://abcd1234.ngrok.io
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Issue: "Test sering timeout"
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Penyebab:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API terlalu lambat&lt;/li&gt;
&lt;li&gt;Aplikasi hang saat startup&lt;/li&gt;
&lt;li&gt;Network unstable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solusi:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"timeout"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;45000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Naikkan&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;dari&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="err"&gt;s&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"apiWaitTime"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10000&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Issue: "TestSprite tidak mendeteksi elemen dynamic (lazy-loaded)"
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Solusi:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Tambahkan indikator untuk TestSprite&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;testsprite&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;wait&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;content-loaded&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Dynamic content here */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;TestSprite akan tunggu hingga elemen ini render sebelum test mulai.&lt;/p&gt;




&lt;h2&gt;
  
  
  Langkah Selanjutnya
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;✅ Daftar di &lt;a href="https://app.testsprite.com" rel="noopener noreferrer"&gt;https://app.testsprite.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;✅ Setup project Anda&lt;/li&gt;
&lt;li&gt;✅ Jalankan test pertama&lt;/li&gt;
&lt;li&gt;✅ Integrasikan dengan CI/CD&lt;/li&gt;
&lt;li&gt;✅ Monitor dashboard setiap hari&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Dukungan
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📧 Email: &lt;a href="mailto:support@testsprite.com"&gt;support@testsprite.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 Chat: app.testsprite.com/chat&lt;/li&gt;
&lt;li&gt;📖 Docs: &lt;a href="https://docs.testsprite.com" rel="noopener noreferrer"&gt;https://docs.testsprite.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐛 Bug Report: &lt;a href="https://github.com/testsprite/issues" rel="noopener noreferrer"&gt;https://github.com/testsprite/issues&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Selamat testing! 🚀&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Also available on GitHub Gist:&lt;/strong&gt; &lt;a href="https://gist.github.com/placecel427-source/ec857abad852411161ad34d1c0b0f68d" rel="noopener noreferrer"&gt;https://gist.github.com/placecel427-source/ec857abad852411161ad34d1c0b0f68d&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>devops</category>
      <category>indonesian</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
