From 198b7b29975d73e352bd5d6bcaf5771b9b537f18 Mon Sep 17 00:00:00 2001 From: Neha Gupta Date: Mon, 4 May 2026 23:06:28 +0530 Subject: [PATCH 01/11] docs(seo): add HowTo schema, glossary DefinedTermSet, docs landing fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audit findings on keploy.io/docs and follow-up coverage. Critical fixes: - /docs/ landing was rendering zero H1, with title "Keploy Documentation" (20 chars) and description "API Test Generator Tool" (23 chars). Both too short to capture docs intent (install, capture, replay, SDK). Added an sr-only H1 plus a longer Layout title/description on src/pages/index.js ("Keploy Documentation — Install, Capture & Replay API Tests" + a 159-char description covering install, capture, CI replay, SDK references). - src/pages/about.js shipped zero JSON-LD because src/pages/* are not covered by the docs schema plugin. Inlined Article + BreadcrumbList JSON-LD via @docusaurus/Head. - src/pages/concepts/reference/glossary.js shipped zero JSON-LD too. Now emits a single DefinedTermSet from the entire glossaryEntries data, with one DefinedTerm per glossary entry. Mirrors the pattern in landing's /what-is-api-testing layout. - Docusaurus sitemap noIndex on 1.0.0 / 2.0.0 archives + ignorePatterns to drop /tags/** and /1.0.0/** /2.0.0/** from the generated sitemap. Reduces crawl-budget dilution; preserves the recently-added priority bucket comments above the sitemap config. HowTo schema rollout: - New src/components/HowTo.js wrapper. API: Emits valid HowTo JSON-LD via @docusaurus/Head and (when visible) renders a numbered
    . Use visible={false} on pages that already render the steps in prose to avoid duplicate UI. - Applied to versioned_docs/version-4.0.0/server/installation.md (visible HowTo above the existing prose). - Applied to all 32 quickstart pages in versioned_docs/version-4.0.0/quickstart with visible={false} (existing tutorial prose remains; only schema is added). SDK-installation title alignment: - /docs/server/sdk-installation/go|python|javascript pages had H1/title "Merge Test Coverage Data" while the URL says "sdk-installation". Title rewritten to "Keploy [Language] SDK — Install & Merge Test Coverage" so URL and content topic align without renaming the route or moving files. java.md is unchanged here — upstream main has rewritten that file as the Enterprise dynamic-deduplication agent guide, so the SDK-install framing no longer applies to it. Built + verified: `npx docusaurus build` produces a clean static build. Co-Authored-By: Claude Opus 4.7 (1M context) Signed-off-by: Neha Gupta --- docusaurus.config.js | 13 ++ src/components/HowTo.js | 113 ++++++++++++++++++ src/pages/about.js | 43 +++++++ src/pages/concepts/reference/glossary.js | 48 +++++++- src/pages/index.js | 11 +- .../quickstart/csharp-dotnet-postgres.md | 32 +++++ .../quickstart/express-postgresql-prisma.md | 32 +++++ .../version-4.0.0/quickstart/flask-redis.md | 32 +++++ .../quickstart/go-fasthttp-postgres.md | 32 +++++ .../version-4.0.0/quickstart/go-gin-redis.md | 32 +++++ .../version-4.0.0/quickstart/go-mux-mysql.md | 32 +++++ .../version-4.0.0/quickstart/go-mux-sql.md | 32 +++++ .../quickstart/java-spring-boot-mongo.md | 32 +++++ .../java-spring-boot-openhospital.md | 32 +++++ .../quickstart/java-spring-boot-xml.md | 32 +++++ .../quickstart/java-spring-postgres.md | 32 +++++ .../version-4.0.0/quickstart/k8s-proxy.md | 32 +++++ .../quickstart/nextjs-postgres.md | 32 +++++ .../quickstart/node-express-mongoose.md | 32 +++++ .../version-4.0.0/quickstart/node-jwt-sql.md | 32 +++++ .../quickstart/python-django-sql.md | 32 +++++ .../quickstart/python-fastapi-sql.md | 32 +++++ .../quickstart/python-fastapi-twilio.md | 32 +++++ .../quickstart/python-flask-mongo.md | 32 +++++ .../quickstart/python-microservices.md | 32 +++++ .../quickstart/rust-wrap-mongo.md | 32 +++++ .../quickstart/sample-rust-crud-mongo.md | 32 +++++ .../version-4.0.0/quickstart/sample-ts.md | 32 +++++ .../version-4.0.0/quickstart/samples-bunjs.md | 32 +++++ .../version-4.0.0/quickstart/samples-echo.md | 32 +++++ .../quickstart/samples-express-mongoose.md | 32 +++++ .../quickstart/samples-go-gin-mongo.md | 32 +++++ .../quickstart/samples-go-sse-svelte.md | 32 +++++ .../version-4.0.0/quickstart/samples-java.md | 32 +++++ .../quickstart/samples-node-mongo.md | 32 +++++ .../version-4.0.0/quickstart/samples-rust.md | 32 +++++ .../version-4.0.0/quickstart/sanic-mongo.md | 32 +++++ .../version-4.0.0/server/installation.md | 32 +++++ .../server/sdk-installation/go.md | 4 +- .../server/sdk-installation/javascript.md | 4 +- .../server/sdk-installation/python.md | 4 +- 41 files changed, 1286 insertions(+), 10 deletions(-) create mode 100644 src/components/HowTo.js diff --git a/docusaurus.config.js b/docusaurus.config.js index 1efe37351..fd921a746 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -365,11 +365,13 @@ module.exports = { label: "1.0.0", path: "1.0.0", banner: "unmaintained", + noIndex: true, }, "2.0.0": { label: "2.0.0", path: "2.0.0", banner: "unmaintained", + noIndex: true, }, }, onlyIncludeVersions: ["1.0.0", "2.0.0", "4.0.0"], @@ -464,6 +466,17 @@ module.exports = { // 0.5 → /docs/concepts/reference/glossary/* (long-tail // glossary; noindexed legacy versions excluded via // netlify headers + robots.txt) + // + // Also exclude auto-generated tag indexes and the unmaintained + // 1.0.0 / 2.0.0 doc versions from the sitemap. Those versions + // additionally carry `noIndex: true` via their `versions` config + // above; excluding from the sitemap signals that they should not + // be ranked at all. + ignorePatterns: [ + "/tags/**", + "/1.0.0/**", + "/2.0.0/**", + ], createSitemapItems: async (params) => { const {defaultCreateSitemapItems, ...rest} = params; const items = await defaultCreateSitemapItems(rest); diff --git a/src/components/HowTo.js b/src/components/HowTo.js new file mode 100644 index 000000000..c1b92af4c --- /dev/null +++ b/src/components/HowTo.js @@ -0,0 +1,113 @@ +import React from "react"; +import Head from "@docusaurus/Head"; + +/** + * HowTo schema.org wrapper for Docusaurus MDX pages. + * + * Emits valid schema.org/HowTo JSON-LD into and (optionally) renders a + * matching numbered
      of visible steps. Authors can pass `visible={false}` + * when the prose below already renders the steps so the JSON-LD is the only + * change to the page. + * + * Required HowTo fields per Google: name, step (array of HowToStep with name + text). + * Optional: totalTime (ISO 8601 duration), estimatedCost (MonetaryAmount), tool, supply. + * + * Example: + * = 5.10"]} + * steps={[ + * {name: "Download", text: "Run: curl ...", url: "#download"}, + * {name: "Install", text: "Run: sudo install ...", url: "#install"}, + * ]} + * visible={false} + * /> + */ +export default function HowTo({ + name, + description, + totalTime, + estimatedCost, + tools, + supplies, + image, + steps, + visible = true, +}) { + if (!name || !Array.isArray(steps) || steps.length === 0) { + // Component is a no-op without the minimum required fields. + return null; + } + + const schema = { + "@context": "https://schema.org", + "@type": "HowTo", + name, + step: steps.map((s, i) => { + const step = { + "@type": "HowToStep", + position: i + 1, + name: s.name || `Step ${i + 1}`, + text: s.text || "", + }; + if (s.url) step.url = s.url; + if (s.image) step.image = s.image; + return step; + }), + }; + + if (description) schema.description = description; + if (totalTime) schema.totalTime = totalTime; + if (image) schema.image = image; + if (estimatedCost && estimatedCost.value !== undefined) { + schema.estimatedCost = { + "@type": "MonetaryAmount", + currency: estimatedCost.currency || "USD", + value: String(estimatedCost.value), + }; + } + if (Array.isArray(tools) && tools.length > 0) { + schema.tool = tools.map((t) => + typeof t === "string" ? {"@type": "HowToTool", name: t} : t, + ); + } + if (Array.isArray(supplies) && supplies.length > 0) { + schema.supply = supplies.map((s) => + typeof s === "string" ? {"@type": "HowToSupply", name: s} : s, + ); + } + + return ( + <> + + + + {visible && ( +
      +

      {name}

      + {description &&

      {description}

      } +
        + {steps.map((s, i) => ( +
      1. + {s.name || `Step ${i + 1}`} + {s.text &&
        {s.text}
        } +
      2. + ))} +
      +
      + )} + + ); +} diff --git a/src/pages/about.js b/src/pages/about.js index 8de458613..42d1931f2 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -1,8 +1,44 @@ import React from "react"; import Layout from "@theme/Layout"; +import Head from "@docusaurus/Head"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import useBaseUrl from "@docusaurus/useBaseUrl"; +// Custom React pages under src/pages/ are not covered by the docs schema +// plugin — add Article + BreadcrumbList JSON-LD inline so the page is +// machine-readable for search engines and AI crawlers. +const aboutStructuredData = [ + { + "@context": "https://schema.org", + "@type": "Article", + headline: "About the Keploy Documentation", + description: + "Information about Keploy's documentation, contribution guidelines, and licensing.", + url: "https://keploy.io/docs/about", + publisher: { + "@type": "Organization", + name: "Keploy", + logo: { + "@type": "ImageObject", + url: "https://keploy.io/docs/img/favicon.png", + }, + }, + mainEntityOfPage: { + "@type": "WebPage", + "@id": "https://keploy.io/docs/about", + }, + }, + { + "@context": "https://schema.org", + "@type": "BreadcrumbList", + itemListElement: [ + {"@type": "ListItem", position: 1, name: "Home", item: "https://keploy.io"}, + {"@type": "ListItem", position: 2, name: "Docs", item: "https://keploy.io/docs"}, + {"@type": "ListItem", position: 3, name: "About", item: "https://keploy.io/docs/about"}, + ], + }, +]; + function About() { const context = useDocusaurusContext(); const {siteConfig = {}} = context; @@ -12,6 +48,13 @@ function About() { permalink="/about" description="User General Information about Keploy's Documentation" > + + {aboutStructuredData.map((schema, i) => ( + + ))} +

      About the docs

      diff --git a/src/pages/concepts/reference/glossary.js b/src/pages/concepts/reference/glossary.js index f8333262d..9571dbc34 100644 --- a/src/pages/concepts/reference/glossary.js +++ b/src/pages/concepts/reference/glossary.js @@ -1,10 +1,47 @@ import React, {useState, useMemo} from "react"; import Layout from "@theme/Layout"; +import Head from "@docusaurus/Head"; import BackToTopButton from "@theme/BackToTopButton"; import {glossaryEntries} from "../../../../static/data/glossaryEntries"; import GlossaryCard from "../../../components/GlossaryCard"; +// SEO/GEO: turn each glossary entry into a DefinedTerm inside a single +// DefinedTermSet so AI engines can cite individual definitions and engines +// can surface them as featured-snippet definitions. Mirrors the pattern in +// landing/app/(default)/what-is-api-testing/layout.tsx. +const allGlossaryItems = Object.values(glossaryEntries).flat(); +const SITE = "https://keploy.io"; + +const glossaryStructuredData = [ + { + "@context": "https://schema.org", + "@type": "DefinedTermSet", + "@id": `${SITE}/docs/concepts/reference/glossary#termset`, + name: "Keploy Software Testing Glossary", + description: + "Definitions for software testing, test automation, and quality engineering terminology, maintained by the Keploy documentation team.", + url: `${SITE}/docs/concepts/reference/glossary`, + hasDefinedTerm: allGlossaryItems.map((entry) => ({ + "@type": "DefinedTerm", + name: entry.name, + description: entry.description, + url: `${SITE}${entry.link}`, + inDefinedTermSet: `${SITE}/docs/concepts/reference/glossary#termset`, + })), + }, + { + "@context": "https://schema.org", + "@type": "BreadcrumbList", + itemListElement: [ + {"@type": "ListItem", position: 1, name: "Home", item: SITE}, + {"@type": "ListItem", position: 2, name: "Docs", item: `${SITE}/docs`}, + {"@type": "ListItem", position: 3, name: "Concepts", item: `${SITE}/docs/concepts`}, + {"@type": "ListItem", position: 4, name: "Glossary", item: `${SITE}/docs/concepts/reference/glossary`}, + ], + }, +]; + function Glossary() { const [selectedletter, setselectedletter] = useState([]); @@ -37,10 +74,17 @@ function Glossary() { return ( + + {glossaryStructuredData.map((schema, i) => ( + + ))} +

      diff --git a/src/pages/index.js b/src/pages/index.js index b213ce60a..2e8ca13d6 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -62,6 +62,12 @@ export default function Home() { }, } : null; + // SEO: docs landing previously rendered with title "Keploy Documentation" (20c) + // and meta description "API Test Generator Tool" (23c). Both were too short + // to capture the intent of a docs visitor (install, capture, replay, SDK). + const docsHomeTitle = "Keploy Documentation — Install, Capture & Replay API Tests"; + const docsHomeDescription = "Install Keploy in 5 minutes, capture real API traffic with eBPF, and replay it as deterministic tests in CI. Quickstarts, SDK references, and integration guides."; + return (
      @@ -78,10 +84,11 @@ export default function Home() {
      +

      {docsHomeTitle}

      diff --git a/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md b/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md index 5020d389b..5c3791a4d 100644 --- a/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md b/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md index a0ea9cd74..57f19e05e 100644 --- a/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md +++ b/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md @@ -17,6 +17,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/flask-redis.md b/versioned_docs/version-4.0.0/quickstart/flask-redis.md index fb8f4e748..afbebfac0 100644 --- a/versioned_docs/version-4.0.0/quickstart/flask-redis.md +++ b/versioned_docs/version-4.0.0/quickstart/flask-redis.md @@ -20,6 +20,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + + import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md b/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md index 48291e50a..1c4e15b05 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md b/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md index 8bc931ea2..4c337dee4 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md +++ b/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import EnterpriseInstallReminder from '@site/src/components/EnterpriseInstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md b/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md index 88b313c26..2b8e3280c 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md +++ b/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md @@ -19,6 +19,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md b/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md index 83498fbc4..e0dc4404f 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md @@ -19,6 +19,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import InstallReminder from '@site/src/components/InstallReminder'; import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md index 555b6244f..21a54b24c 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md @@ -23,6 +23,38 @@ keywords: - Auto Testcase generation - Junit --- +import HowTo from '@site/src/components/HowTo'; + + ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md index db80fb926..c2c496710 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md @@ -26,6 +26,38 @@ keywords: - Junit - React --- +import HowTo from '@site/src/components/HowTo'; + + import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md index 9dab7d810..c6072c649 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md @@ -22,6 +22,38 @@ keywords: - Auto Testcase generation - JAXB --- +import HowTo from '@site/src/components/HowTo'; + + import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md b/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md index 5bed7a5f5..0358dff3a 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md @@ -24,6 +24,38 @@ keywords: - Test PetClinic - Junit --- +import HowTo from '@site/src/components/HowTo'; + + # Instructions For Starting Using API backend Binary diff --git a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md index 504bf287f..6a6f0cec3 100644 --- a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md +++ b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + # Kubernetes Live Record & Replay using Keploy Proxy diff --git a/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md b/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md index bf72505e6..3afff3eeb 100644 --- a/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md b/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md index 5f182b9e4..fea7c36d4 100644 --- a/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md +++ b/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md @@ -16,6 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import Link from '@docusaurus/Link' import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md b/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md index d188c4242..5bc1b6b98 100644 --- a/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md @@ -16,6 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import Link from '@docusaurus/Link' import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/python-django-sql.md b/versioned_docs/version-4.0.0/quickstart/python-django-sql.md index f4e2655a9..2777ee888 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-django-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/python-django-sql.md @@ -19,6 +19,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md b/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md index 5078cfc00..e6c5c28f1 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md @@ -20,6 +20,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md b/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md index 7c36cebd2..e063891c2 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md +++ b/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md @@ -22,6 +22,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md b/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md index d94e5e956..edba0383e 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md @@ -21,6 +21,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + + import Link from '@docusaurus/Link' import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/python-microservices.md b/versioned_docs/version-4.0.0/quickstart/python-microservices.md index f972b24c3..97a99d8c2 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-microservices.md +++ b/versioned_docs/version-4.0.0/quickstart/python-microservices.md @@ -22,6 +22,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + + import EnterpriseInstallReminder from '@site/src/components/EnterpriseInstallReminder'; import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md b/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md index 593b35b05..33f622187 100644 --- a/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md b/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md index 979082702..87db78996 100644 --- a/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md @@ -15,6 +15,38 @@ keywords: - CRUD - REST --- +import HowTo from '@site/src/components/HowTo'; + + This is a sample CRUD REST API application to showcase Keploy integration capabilities using Rust and MongoDB. Let's get started! 🚀 diff --git a/versioned_docs/version-4.0.0/quickstart/sample-ts.md b/versioned_docs/version-4.0.0/quickstart/sample-ts.md index 494fd5001..a4ea482d8 100644 --- a/versioned_docs/version-4.0.0/quickstart/sample-ts.md +++ b/versioned_docs/version-4.0.0/quickstart/sample-ts.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Running Natively on Linux/WSL diff --git a/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md b/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md index 2d75d1f06..00c237564 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md @@ -20,6 +20,38 @@ keywords: - javascript - typescript --- +import HowTo from '@site/src/components/HowTo'; + + ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/samples-echo.md b/versioned_docs/version-4.0.0/quickstart/samples-echo.md index dd0742cdc..692529e3e 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-echo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-echo.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md index 8d7343f23..eb29a7bb7 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md @@ -16,6 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md b/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md index 262e6d63c..d5087058e 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md b/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md index b266bdb64..7cd887eb0 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/samples-java.md b/versioned_docs/version-4.0.0/quickstart/samples-java.md index 63e909dec..2e6f326b6 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-java.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-java.md @@ -23,6 +23,38 @@ keywords: - Auto Testcase generation - Junit --- +import HowTo from '@site/src/components/HowTo'; + + # Example Employee-Manager App diff --git a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md index c9591c7ab..5d162efa1 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md @@ -21,6 +21,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Intoduction 📌 diff --git a/versioned_docs/version-4.0.0/quickstart/samples-rust.md b/versioned_docs/version-4.0.0/quickstart/samples-rust.md index 9fb8d9a2d..7398ebdbb 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-rust.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-rust.md @@ -14,6 +14,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + + import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md b/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md index bf98e5d99..463b95fc3 100644 --- a/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md @@ -24,6 +24,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + + ## Introduction diff --git a/versioned_docs/version-4.0.0/server/installation.md b/versioned_docs/version-4.0.0/server/installation.md index 2424e4975..a4bfc8fbe 100644 --- a/versioned_docs/version-4.0.0/server/installation.md +++ b/versioned_docs/version-4.0.0/server/installation.md @@ -25,8 +25,40 @@ keywords: Keploy uses eBPF to intercept API calls on network layer and generates test cases and mocks/stubs. +import HowTo from '@site/src/components/HowTo'; import InstallationGuide from '../concepts/installation.md' += 5.10"]} + supplies={["A Linux or WSL2 machine", "Sudo access"]} + visible={false} + steps={[ + { + name: "Download and install the Keploy binary", + text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh", + url: "#-capturing-testcases", + }, + { + name: "Verify the installation", + text: "Run: keploy --version", + }, + { + name: "Record API calls for your app", + text: "Run: keploy record -c \"CMD_TO_RUN_APP\" (for example, keploy record -c \"go run main.go\").", + url: "#-capturing-testcases", + }, + { + name: "Replay the recorded tests", + text: "Run: keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay testcases and detect regressions.", + url: "#-running-testcases", + }, + ]} +/> + ## 🎬 Capturing Testcases diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/go.md b/versioned_docs/version-4.0.0/server/sdk-installation/go.md index aaa85539b..f881b7016 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/go.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/go.md @@ -1,8 +1,8 @@ --- id: go -title: Merge Test Coverage Data — Go +title: Keploy Go SDK — Install & Merge Test Coverage sidebar_label: Go -description: "Merge Keploy and Go unit test coverage data — graceful shutdown setup, building with -cover flag, and combined reports." +description: "Install the Keploy server SDK for Go and merge Keploy + Go unit-test coverage. Graceful shutdown setup, -cover flag, combined reports." tags: - go - coverage diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md b/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md index 14f104d23..a413f535a 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md @@ -1,7 +1,8 @@ --- id: javascript -title: Merge Unit and Keploy Test Coverage Data +title: Keploy JavaScript SDK — Install & Merge Test Coverage sidebar_label: JavaScript +description: "Install the Keploy server SDK for JavaScript/Node and merge Keploy + Jest unit-test coverage. Combined integration + unit-test reports." tags: - javascript - js @@ -19,7 +20,6 @@ keywords: - IoT.js - tap - Typescript -description: "Merge Keploy and JavaScript unit test coverage using nyc — combine integration and unit test reports for full visibility." --- import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/python.md b/versioned_docs/version-4.0.0/server/sdk-installation/python.md index e1f400320..70c7f5f9a 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/python.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/python.md @@ -1,8 +1,8 @@ --- id: python -title: Merge Test Coverage Data — Python +title: Keploy Python SDK — Install & Merge Test Coverage sidebar_label: Python -description: "Merge Keploy and Python unit test coverage using coverage.py — combine integration and unit test reports seamlessly." +description: "Install the Keploy server SDK for Python and merge Keploy + Python unit-test coverage with coverage.py. Combined reports seamlessly." tags: - python - coverage From 6f9c366bcf368f5808829aae197f14720094da52 Mon Sep 17 00:00:00 2001 From: Neha Gupta Date: Mon, 4 May 2026 23:33:33 +0530 Subject: [PATCH 02/11] docs(seo): address PR #857 review comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - versioned_docs/version-4.0.0/server/installation.md: add explicit {#capturing-testcases} / {#running-testcases} anchors on the H2s and update HowTo step.url to those anchors. The previous `#-capturing-testcases` slug relied on Docusaurus's auto-slugger behavior with leading emojis and was fragile. - versioned_docs/version-4.0.0/quickstart/k8s-proxy.md: HowTo `tools` list now includes Kind, kubectl, Helm — the prerequisites the page itself calls out below the schema. - versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md: HowTo `name` is now title-cased ("Sample Course-Selling API (Express) — Record and Replay Tests with Keploy") instead of all lowercase. - versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md: fix typo "Intoduction" → "Introduction". - src/pages/about.js: drop unused `useBaseUrl` import. JSON-LD URLs now carry trailing slashes to match Docusaurus `trailingSlash: true` config — both the Article `url`/`@id` and the BreadcrumbList `item`s. - src/pages/concepts/reference/glossary.js: same trailing-slash fix for DefinedTermSet `@id`/`url`, per-term DefinedTerm `url`s, and the BreadcrumbList items. Centralized via a `withTrailingSlash` helper so future glossary entries inherit the canonical form. - src/pages/index.js: Article schema's `headline` and `description` now derive from `docsHomeTitle` / `docsHomeDescription` (the same values used for the rendered , meta description, and sr-only H1) instead of the old short `siteConfig.title` / `siteConfig.tagline`. Schema and on-page metadata now agree. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- src/pages/about.js | 15 ++++++---- src/pages/concepts/reference/glossary.js | 28 +++++++++++++------ src/pages/index.js | 19 +++++++------ .../version-4.0.0/quickstart/k8s-proxy.md | 2 +- .../quickstart/samples-express-mongoose.md | 2 +- .../quickstart/samples-node-mongo.md | 2 +- .../version-4.0.0/server/installation.md | 10 +++---- 7 files changed, 48 insertions(+), 30 deletions(-) diff --git a/src/pages/about.js b/src/pages/about.js index 42d1931f2..456a25965 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -2,11 +2,14 @@ import React from "react"; import Layout from "@theme/Layout"; import Head from "@docusaurus/Head"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; -import useBaseUrl from "@docusaurus/useBaseUrl"; // Custom React pages under src/pages/ are not covered by the docs schema // plugin — add Article + BreadcrumbList JSON-LD inline so the page is // machine-readable for search engines and AI crawlers. +// +// Site config sets `trailingSlash: true`, so canonical URLs in the JSON-LD +// must carry the trailing slash to match the actual emitted href and avoid +// duplicate URL variants in structured data. const aboutStructuredData = [ { "@context": "https://schema.org", @@ -14,7 +17,7 @@ const aboutStructuredData = [ headline: "About the Keploy Documentation", description: "Information about Keploy's documentation, contribution guidelines, and licensing.", - url: "https://keploy.io/docs/about", + url: "https://keploy.io/docs/about/", publisher: { "@type": "Organization", name: "Keploy", @@ -25,16 +28,16 @@ const aboutStructuredData = [ }, mainEntityOfPage: { "@type": "WebPage", - "@id": "https://keploy.io/docs/about", + "@id": "https://keploy.io/docs/about/", }, }, { "@context": "https://schema.org", "@type": "BreadcrumbList", itemListElement: [ - {"@type": "ListItem", position: 1, name: "Home", item: "https://keploy.io"}, - {"@type": "ListItem", position: 2, name: "Docs", item: "https://keploy.io/docs"}, - {"@type": "ListItem", position: 3, name: "About", item: "https://keploy.io/docs/about"}, + {"@type": "ListItem", position: 1, name: "Home", item: "https://keploy.io/"}, + {"@type": "ListItem", position: 2, name: "Docs", item: "https://keploy.io/docs/"}, + {"@type": "ListItem", position: 3, name: "About", item: "https://keploy.io/docs/about/"}, ], }, ]; diff --git a/src/pages/concepts/reference/glossary.js b/src/pages/concepts/reference/glossary.js index 9571dbc34..35d42990d 100644 --- a/src/pages/concepts/reference/glossary.js +++ b/src/pages/concepts/reference/glossary.js @@ -10,34 +10,46 @@ import GlossaryCard from "../../../components/GlossaryCard"; // DefinedTermSet so AI engines can cite individual definitions and engines // can surface them as featured-snippet definitions. Mirrors the pattern in // landing/app/(default)/what-is-api-testing/layout.tsx. +// +// Site config sets `trailingSlash: true`, so every emitted URL must carry a +// trailing slash to match the canonical href. Otherwise Google treats the +// no-slash variant as a duplicate URL of the canonical one. const allGlossaryItems = Object.values(glossaryEntries).flat(); const SITE = "https://keploy.io"; +const GLOSSARY_PATH = "/docs/concepts/reference/glossary/"; +const GLOSSARY_URL = `${SITE}${GLOSSARY_PATH}`; +const TERMSET_ID = `${GLOSSARY_URL}#termset`; + +function withTrailingSlash(path) { + if (!path) return path; + return path.endsWith("/") ? path : `${path}/`; +} const glossaryStructuredData = [ { "@context": "https://schema.org", "@type": "DefinedTermSet", - "@id": `${SITE}/docs/concepts/reference/glossary#termset`, + "@id": TERMSET_ID, name: "Keploy Software Testing Glossary", description: "Definitions for software testing, test automation, and quality engineering terminology, maintained by the Keploy documentation team.", - url: `${SITE}/docs/concepts/reference/glossary`, + url: GLOSSARY_URL, hasDefinedTerm: allGlossaryItems.map((entry) => ({ "@type": "DefinedTerm", name: entry.name, description: entry.description, - url: `${SITE}${entry.link}`, - inDefinedTermSet: `${SITE}/docs/concepts/reference/glossary#termset`, + url: `${SITE}${withTrailingSlash(entry.link)}`, + inDefinedTermSet: TERMSET_ID, })), }, { "@context": "https://schema.org", "@type": "BreadcrumbList", itemListElement: [ - {"@type": "ListItem", position: 1, name: "Home", item: SITE}, - {"@type": "ListItem", position: 2, name: "Docs", item: `${SITE}/docs`}, - {"@type": "ListItem", position: 3, name: "Concepts", item: `${SITE}/docs/concepts`}, - {"@type": "ListItem", position: 4, name: "Glossary", item: `${SITE}/docs/concepts/reference/glossary`}, + {"@type": "ListItem", position: 1, name: "Home", item: `${SITE}/`}, + {"@type": "ListItem", position: 2, name: "Docs", item: `${SITE}/docs/`}, + {"@type": "ListItem", position: 3, name: "Concepts", item: `${SITE}/docs/concepts/`}, + {"@type": "ListItem", position: 4, name: "Glossary", item: GLOSSARY_URL}, ], }, ]; diff --git a/src/pages/index.js b/src/pages/index.js index 2e8ca13d6..312447fdd 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -41,13 +41,21 @@ export default function Home() { ], } : null; + // SEO: docs landing previously rendered with title "Keploy Documentation" (20c) + // and meta description "API Test Generator Tool" (23c). Both were too short + // to capture the intent of a docs visitor (install, capture, replay, SDK). + // The Article JSON-LD below derives its `headline`/`description` from these + // same constants so the schema, the rendered <title>, the meta description + // and the sr-only H1 all agree — single source of truth. + const docsHomeTitle = "Keploy Documentation — Install, Capture & Replay API Tests"; + const docsHomeDescription = "Install Keploy in 5 minutes, capture real API traffic with eBPF, and replay it as deterministic tests in CI. Quickstarts, SDK references, and integration guides."; const articleSchema = - docsUrl && siteConfig.title + docsUrl ? { "@context": "https://schema.org", "@type": "Article", - headline: siteConfig.title, - description: siteConfig.tagline, + headline: docsHomeTitle, + description: docsHomeDescription, mainEntityOfPage: { "@type": "WebPage", "@id": docsUrl, @@ -62,11 +70,6 @@ export default function Home() { }, } : null; - // SEO: docs landing previously rendered with title "Keploy Documentation" (20c) - // and meta description "API Test Generator Tool" (23c). Both were too short - // to capture the intent of a docs visitor (install, capture, replay, SDK). - const docsHomeTitle = "Keploy Documentation — Install, Capture & Replay API Tests"; - const docsHomeDescription = "Install Keploy in 5 minutes, capture real API traffic with eBPF, and replay it as deterministic tests in CI. Quickstarts, SDK references, and integration guides."; return ( <div className="main"> diff --git a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md index 6a6f0cec3..79bb3d7c1 100644 --- a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md +++ b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md @@ -19,7 +19,7 @@ import HowTo from '@site/src/components/HowTo'; description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." totalTime="PT10M" estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} + tools={["Keploy CLI", "Docker", "git", "Kind", "kubectl", "Helm"]} visible={false} steps={[ { diff --git a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md index eb29a7bb7..f2952750b 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md @@ -19,7 +19,7 @@ keywords: import HowTo from '@site/src/components/HowTo'; <HowTo - name="sample course selling api (express) — record and replay tests with Keploy" + name="Sample Course-Selling API (Express) — Record and Replay Tests with Keploy" description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." totalTime="PT10M" estimatedCost={{currency: "USD", value: "0"}} diff --git a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md index 5d162efa1..40056fcfc 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md @@ -54,7 +54,7 @@ import HowTo from '@site/src/components/HowTo'; ]} /> -## Intoduction 📌 +## Introduction 📌 A sample **_CRUD_** application to see how Keploy integrates effortlessly with **_Express.js_** and **_MongoDB_**. Get ready to see the power of Keploy 🔅🔅. diff --git a/versioned_docs/version-4.0.0/server/installation.md b/versioned_docs/version-4.0.0/server/installation.md index a4bfc8fbe..8a0dc8e75 100644 --- a/versioned_docs/version-4.0.0/server/installation.md +++ b/versioned_docs/version-4.0.0/server/installation.md @@ -40,7 +40,7 @@ import InstallationGuide from '../concepts/installation.md' { name: "Download and install the Keploy binary", text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh", - url: "#-capturing-testcases", + url: "#capturing-testcases", }, { name: "Verify the installation", @@ -49,19 +49,19 @@ import InstallationGuide from '../concepts/installation.md' { name: "Record API calls for your app", text: "Run: keploy record -c \"CMD_TO_RUN_APP\" (for example, keploy record -c \"go run main.go\").", - url: "#-capturing-testcases", + url: "#capturing-testcases", }, { name: "Replay the recorded tests", text: "Run: keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay testcases and detect regressions.", - url: "#-running-testcases", + url: "#running-testcases", }, ]} /> <InstallationGuide/> -## 🎬 Capturing Testcases +## 🎬 Capturing Testcases {#capturing-testcases} To initiate the recording of API calls, execute this command in your terminal: @@ -75,7 +75,7 @@ For example, if you're using a simple Golang program, the **CMD_TO_RUN_APP** wou keploy record -c "go run main.go" ``` -## 🏃 Running Testcases +## 🏃 Running Testcases {#running-testcases} To run the testcases and see if there are any regressions introduced, use this terminal command: From 0a41d75db4f5bce10458cae9fe1cba08678114cb Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Mon, 4 May 2026 23:41:21 +0530 Subject: [PATCH 03/11] docs(seo): address remaining PR #857 review comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - src/components/HowTo.js: when `visible={true}`, the rendered <ol> no longer derives <li id> from `s.url` alone (multiple steps can share the same anchor and that produced duplicate ids in the DOM). The id now suffixes the step position — `${slug}-step-${i+1}`. - versioned_docs/version-4.0.0/server/sdk-installation/python.md: meta description rephrased — was a sentence fragment ending "Combined reports seamlessly.", now a complete clause that reads cleanly in SERP snippets. - versioned_docs/version-4.0.0/server/sdk-installation/javascript.md: same fix for the "Combined integration + unit-test reports." fragment. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- src/components/HowTo.js | 20 +++++++++++++------ .../server/sdk-installation/javascript.md | 2 +- .../server/sdk-installation/python.md | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/HowTo.js b/src/components/HowTo.js index c1b92af4c..53a947da5 100644 --- a/src/components/HowTo.js +++ b/src/components/HowTo.js @@ -99,12 +99,20 @@ export default function HowTo({ <h3 style={{marginTop: 0}}>{name}</h3> {description && <p>{description}</p>} <ol> - {steps.map((s, i) => ( - <li key={i} id={s.url && s.url.startsWith("#") ? s.url.slice(1) : undefined}> - <strong>{s.name || `Step ${i + 1}`}</strong> - {s.text && <div>{s.text}</div>} - </li> - ))} + {steps.map((s, i) => { + // Build a unique element id even when multiple steps share + // the same `s.url` (which is common — e.g. several sub-steps + // grouped under the same #anchor on the docs page). + const slug = + s.url && s.url.startsWith("#") ? s.url.slice(1) : null; + const itemId = slug ? `${slug}-step-${i + 1}` : undefined; + return ( + <li key={i} id={itemId}> + <strong>{s.name || `Step ${i + 1}`}</strong> + {s.text && <div>{s.text}</div>} + </li> + ); + })} </ol> </section> )} diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md b/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md index a413f535a..4e07aefba 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md @@ -2,7 +2,7 @@ id: javascript title: Keploy JavaScript SDK — Install & Merge Test Coverage sidebar_label: JavaScript -description: "Install the Keploy server SDK for JavaScript/Node and merge Keploy + Jest unit-test coverage. Combined integration + unit-test reports." +description: "Install the Keploy server SDK for JavaScript/Node and merge Keploy + Jest unit-test coverage into a single combined integration and unit-test report." tags: - javascript - js diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/python.md b/versioned_docs/version-4.0.0/server/sdk-installation/python.md index 70c7f5f9a..16b75c0f9 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/python.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/python.md @@ -2,7 +2,7 @@ id: python title: Keploy Python SDK — Install & Merge Test Coverage sidebar_label: Python -description: "Install the Keploy server SDK for Python and merge Keploy + Python unit-test coverage with coverage.py. Combined reports seamlessly." +description: "Install the Keploy server SDK for Python and merge Keploy + Python unit-test coverage with coverage.py to produce a single combined report." tags: - python - coverage From 13c879fc72e883a98120b0019ab1d0cc05e6f3f7 Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Mon, 4 May 2026 23:48:05 +0530 Subject: [PATCH 04/11] docs(seo): drop HowTo li id, fix glossary typo + guard JSON-LD URLs - src/components/HowTo.js: stop deriving the visible <li> `id` from `s.url`. In docs usage step.url often points at an existing heading anchor on the page (e.g. `#capturing-testcases`), so the list-item id would clash with the h2 anchor whenever `visible` is enabled. The list is just the readable view; `step.url` in the JSON-LD already carries the schema linkage. - static/data/glossaryEntries.js: fix the "Stubs" entry which had `ink:` instead of `link:`. - src/pages/concepts/reference/glossary.js: defensively filter glossary entries missing a valid `link` before mapping into DefinedTerm.url, so a future similar gap can't ship a malformed `https://keploy.ioundefined` URL into the JSON-LD. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- src/components/HowTo.js | 26 +++++++++++------------- src/pages/concepts/reference/glossary.js | 20 +++++++++++------- static/data/glossaryEntries.js | 2 +- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/components/HowTo.js b/src/components/HowTo.js index 53a947da5..240fcb35c 100644 --- a/src/components/HowTo.js +++ b/src/components/HowTo.js @@ -99,20 +99,18 @@ export default function HowTo({ <h3 style={{marginTop: 0}}>{name}</h3> {description && <p>{description}</p>} <ol> - {steps.map((s, i) => { - // Build a unique element id even when multiple steps share - // the same `s.url` (which is common — e.g. several sub-steps - // grouped under the same #anchor on the docs page). - const slug = - s.url && s.url.startsWith("#") ? s.url.slice(1) : null; - const itemId = slug ? `${slug}-step-${i + 1}` : undefined; - return ( - <li key={i} id={itemId}> - <strong>{s.name || `Step ${i + 1}`}</strong> - {s.text && <div>{s.text}</div>} - </li> - ); - })} + {/* Don't derive an `id` from `s.url`. In docs usage `step.url` + often points at an existing heading anchor on the page (e.g. + `#capturing-testcases`), so reusing that as a list-item id + would produce duplicate ids in the DOM whenever `visible` + is enabled. The list is the readable view; `step.url` in + the JSON-LD already covers the schema linkage. */} + {steps.map((s, i) => ( + <li key={i}> + <strong>{s.name || `Step ${i + 1}`}</strong> + {s.text && <div>{s.text}</div>} + </li> + ))} </ol> </section> )} diff --git a/src/pages/concepts/reference/glossary.js b/src/pages/concepts/reference/glossary.js index 35d42990d..d31c2c2f3 100644 --- a/src/pages/concepts/reference/glossary.js +++ b/src/pages/concepts/reference/glossary.js @@ -34,13 +34,19 @@ const glossaryStructuredData = [ description: "Definitions for software testing, test automation, and quality engineering terminology, maintained by the Keploy documentation team.", url: GLOSSARY_URL, - hasDefinedTerm: allGlossaryItems.map((entry) => ({ - "@type": "DefinedTerm", - name: entry.name, - description: entry.description, - url: `${SITE}${withTrailingSlash(entry.link)}`, - inDefinedTermSet: TERMSET_ID, - })), + // Defensive: an entry without a valid `link` (e.g. a typoed key like + // `ink:`) would emit `https://keploy.ioundefined` into the JSON-LD. + // Drop those entries here so structured data never carries a malformed + // URL even if `glossaryEntries` has gaps. + hasDefinedTerm: allGlossaryItems + .filter((entry) => typeof entry.link === "string" && entry.link.length > 0) + .map((entry) => ({ + "@type": "DefinedTerm", + name: entry.name, + description: entry.description, + url: `${SITE}${withTrailingSlash(entry.link)}`, + inDefinedTermSet: TERMSET_ID, + })), }, { "@context": "https://schema.org", diff --git a/static/data/glossaryEntries.js b/static/data/glossaryEntries.js index 95df93366..112b23371 100644 --- a/static/data/glossaryEntries.js +++ b/static/data/glossaryEntries.js @@ -187,7 +187,7 @@ export const glossaryEntries = { S: [ { name: "Stubs", - ink: "/docs/concepts/reference/glossary/stubs", + link: "/docs/concepts/reference/glossary/stubs", description: "Simulates methods or APIs during testing.", }, { From 0477d2f8449d4cf834a90bf29d0c049f52cd16a1 Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Tue, 5 May 2026 18:17:43 +0530 Subject: [PATCH 05/11] fix(seo): drop wrong HowTo step anchor, rephrase Go SDK description MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first install-Linux HowTo step ("Download and install the Keploy binary") was pointing at #capturing-testcases — that anchor exists on the page but it's the wrong section for the install command. There's no installation-specific anchor to point to (the install runs inline above the H2s), so drop the url field for that step rather than emit a misleading deep link. Go SDK meta description was a noun phrase tail of "Graceful shutdown setup, -cover flag, combined reports." Rephrase as a complete sentence so AI engines and snippet renderers can quote it cleanly. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- versioned_docs/version-4.0.0/server/installation.md | 1 - versioned_docs/version-4.0.0/server/sdk-installation/go.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/versioned_docs/version-4.0.0/server/installation.md b/versioned_docs/version-4.0.0/server/installation.md index 8a0dc8e75..bd5a17919 100644 --- a/versioned_docs/version-4.0.0/server/installation.md +++ b/versioned_docs/version-4.0.0/server/installation.md @@ -40,7 +40,6 @@ import InstallationGuide from '../concepts/installation.md' { name: "Download and install the Keploy binary", text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh", - url: "#capturing-testcases", }, { name: "Verify the installation", diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/go.md b/versioned_docs/version-4.0.0/server/sdk-installation/go.md index f881b7016..54879409b 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/go.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/go.md @@ -2,7 +2,7 @@ id: go title: Keploy Go SDK — Install & Merge Test Coverage sidebar_label: Go -description: "Install the Keploy server SDK for Go and merge Keploy + Go unit-test coverage. Graceful shutdown setup, -cover flag, combined reports." +description: "Install the Keploy server SDK for Go and merge Keploy + Go unit-test coverage by enabling graceful shutdown, building with the -cover flag, and combining the reports for a unified view." tags: - go - coverage From eec4a73b4803866f1f66e4b66af96e46a851b317 Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Tue, 5 May 2026 21:14:51 +0530 Subject: [PATCH 06/11] fix(seo): prefix sitemap ignorePatterns with /docs/, validate HowTo steps baseUrl is /docs/, so Docusaurus emits sitemap routes as /docs/tags/... and /docs/1.0.0/.../docs/2.0.0/... . The previous bare patterns (/tags/**, /1.0.0/**, /2.0.0/**) couldn't match those, so tag indexes and the legacy doc versions were quietly slipping into the generated sitemap despite the noIndex headers elsewhere. Add the prefixed patterns; keep the bare ones as defence-in-depth in case baseUrl is ever flattened. HowTo.js was emitting steps with empty `text` and auto-generated "Step N" names whenever authors omitted those fields, producing low-quality HowTo structured data the rich-results test flags. Filter to entries that carry both `name` and `text`; drop the schema entirely if none qualify, and render the visible <ol> from the same filtered list so the markup and JSON-LD stay in sync. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- docusaurus.config.js | 10 ++++++++++ src/components/HowTo.js | 25 +++++++++++++++++++------ 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index fd921a746..6c416806e 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -472,7 +472,17 @@ module.exports = { // additionally carry `noIndex: true` via their `versions` config // above; excluding from the sitemap signals that they should not // be ranked at all. + // + // Docusaurus matches `ignorePatterns` against the full route path + // including `baseUrl` (`/docs/`), so the patterns must carry that + // prefix — bare `/tags/**` and `/1.0.0/**` would never match the + // emitted `/docs/tags/...` and `/docs/1.0.0/...` routes. Bare + // patterns are kept as defence-in-depth in case `baseUrl` is ever + // flattened to `/`. ignorePatterns: [ + "/docs/tags/**", + "/docs/1.0.0/**", + "/docs/2.0.0/**", "/tags/**", "/1.0.0/**", "/2.0.0/**", diff --git a/src/components/HowTo.js b/src/components/HowTo.js index 240fcb35c..8f4408b09 100644 --- a/src/components/HowTo.js +++ b/src/components/HowTo.js @@ -42,16 +42,29 @@ export default function HowTo({ return null; } + // Filter to steps that carry both `name` and `text` per Google's HowTo + // requirements. Auto-generating "Step N" placeholders or emitting empty + // `text` produces low-quality structured data that the rich-results test + // flags. If the author gave us nothing usable, drop the schema entirely + // rather than ship a hollow HowTo. + const validSteps = steps.filter( + (s) => typeof s.name === "string" && s.name.trim() && + typeof s.text === "string" && s.text.trim(), + ); + if (validSteps.length === 0) { + return null; + } + const schema = { "@context": "https://schema.org", "@type": "HowTo", name, - step: steps.map((s, i) => { + step: validSteps.map((s, i) => { const step = { "@type": "HowToStep", position: i + 1, - name: s.name || `Step ${i + 1}`, - text: s.text || "", + name: s.name, + text: s.text, }; if (s.url) step.url = s.url; if (s.image) step.image = s.image; @@ -105,10 +118,10 @@ export default function HowTo({ would produce duplicate ids in the DOM whenever `visible` is enabled. The list is the readable view; `step.url` in the JSON-LD already covers the schema linkage. */} - {steps.map((s, i) => ( + {validSteps.map((s, i) => ( <li key={i}> - <strong>{s.name || `Step ${i + 1}`}</strong> - {s.text && <div>{s.text}</div>} + <strong>{s.name}</strong> + <div>{s.text}</div> </li> ))} </ol> From f200ec470ec9c86177dc79f0fe441491499c43e8 Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Thu, 7 May 2026 16:47:26 +0530 Subject: [PATCH 07/11] style(seo): apply prettier 2.8.8 to changed quickstart docs The PR's editor (and the post-prettier action) had drifted from the repo's pinned prettier 2.8.8: trailing commas, JSX prop indentation inside MDX, and a few `<HowTo>` block layouts didn't match. CI's `prettier --check` over the changed file list was flagging 37 files; this commit runs `prettier --write` over the same list so the formatter check passes without rewriting any of the actual content. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- src/components/HowTo.js | 11 ++-- src/pages/about.js | 21 ++++++- src/pages/concepts/reference/glossary.js | 11 +++- src/pages/index.js | 57 +++++++++++-------- .../quickstart/csharp-dotnet-postgres.md | 57 ++++++++++--------- .../quickstart/express-postgresql-prisma.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/flask-redis.md | 57 ++++++++++--------- .../quickstart/go-fasthttp-postgres.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/go-gin-redis.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/go-mux-mysql.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/go-mux-sql.md | 57 ++++++++++--------- .../quickstart/java-spring-boot-mongo.md | 57 ++++++++++--------- .../java-spring-boot-openhospital.md | 57 ++++++++++--------- .../quickstart/java-spring-boot-xml.md | 57 ++++++++++--------- .../quickstart/java-spring-postgres.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/k8s-proxy.md | 57 ++++++++++--------- .../quickstart/nextjs-postgres.md | 57 ++++++++++--------- .../quickstart/node-express-mongoose.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/node-jwt-sql.md | 57 ++++++++++--------- .../quickstart/python-django-sql.md | 57 ++++++++++--------- .../quickstart/python-fastapi-sql.md | 57 ++++++++++--------- .../quickstart/python-fastapi-twilio.md | 57 ++++++++++--------- .../quickstart/python-flask-mongo.md | 57 ++++++++++--------- .../quickstart/python-microservices.md | 57 ++++++++++--------- .../quickstart/rust-wrap-mongo.md | 57 ++++++++++--------- .../quickstart/sample-rust-crud-mongo.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/sample-ts.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/samples-bunjs.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/samples-echo.md | 57 ++++++++++--------- .../quickstart/samples-express-mongoose.md | 57 ++++++++++--------- .../quickstart/samples-go-gin-mongo.md | 57 ++++++++++--------- .../quickstart/samples-go-sse-svelte.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/samples-java.md | 57 ++++++++++--------- .../quickstart/samples-node-mongo.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/samples-rust.md | 57 ++++++++++--------- .../version-4.0.0/quickstart/sanic-mongo.md | 57 ++++++++++--------- .../version-4.0.0/server/installation.md | 54 +++++++++--------- 37 files changed, 1023 insertions(+), 955 deletions(-) diff --git a/src/components/HowTo.js b/src/components/HowTo.js index 8f4408b09..f7353bf9c 100644 --- a/src/components/HowTo.js +++ b/src/components/HowTo.js @@ -48,8 +48,11 @@ export default function HowTo({ // flags. If the author gave us nothing usable, drop the schema entirely // rather than ship a hollow HowTo. const validSteps = steps.filter( - (s) => typeof s.name === "string" && s.name.trim() && - typeof s.text === "string" && s.text.trim(), + (s) => + typeof s.name === "string" && + s.name.trim() && + typeof s.text === "string" && + s.text.trim() ); if (validSteps.length === 0) { return null; @@ -84,12 +87,12 @@ export default function HowTo({ } if (Array.isArray(tools) && tools.length > 0) { schema.tool = tools.map((t) => - typeof t === "string" ? {"@type": "HowToTool", name: t} : t, + typeof t === "string" ? {"@type": "HowToTool", name: t} : t ); } if (Array.isArray(supplies) && supplies.length > 0) { schema.supply = supplies.map((s) => - typeof s === "string" ? {"@type": "HowToSupply", name: s} : s, + typeof s === "string" ? {"@type": "HowToSupply", name: s} : s ); } diff --git a/src/pages/about.js b/src/pages/about.js index 456a25965..5bbaf6bad 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -35,9 +35,24 @@ const aboutStructuredData = [ "@context": "https://schema.org", "@type": "BreadcrumbList", itemListElement: [ - {"@type": "ListItem", position: 1, name: "Home", item: "https://keploy.io/"}, - {"@type": "ListItem", position: 2, name: "Docs", item: "https://keploy.io/docs/"}, - {"@type": "ListItem", position: 3, name: "About", item: "https://keploy.io/docs/about/"}, + { + "@type": "ListItem", + position: 1, + name: "Home", + item: "https://keploy.io/", + }, + { + "@type": "ListItem", + position: 2, + name: "Docs", + item: "https://keploy.io/docs/", + }, + { + "@type": "ListItem", + position: 3, + name: "About", + item: "https://keploy.io/docs/about/", + }, ], }, ]; diff --git a/src/pages/concepts/reference/glossary.js b/src/pages/concepts/reference/glossary.js index d31c2c2f3..7baf19d0e 100644 --- a/src/pages/concepts/reference/glossary.js +++ b/src/pages/concepts/reference/glossary.js @@ -39,7 +39,9 @@ const glossaryStructuredData = [ // Drop those entries here so structured data never carries a malformed // URL even if `glossaryEntries` has gaps. hasDefinedTerm: allGlossaryItems - .filter((entry) => typeof entry.link === "string" && entry.link.length > 0) + .filter( + (entry) => typeof entry.link === "string" && entry.link.length > 0 + ) .map((entry) => ({ "@type": "DefinedTerm", name: entry.name, @@ -54,7 +56,12 @@ const glossaryStructuredData = [ itemListElement: [ {"@type": "ListItem", position: 1, name: "Home", item: `${SITE}/`}, {"@type": "ListItem", position: 2, name: "Docs", item: `${SITE}/docs/`}, - {"@type": "ListItem", position: 3, name: "Concepts", item: `${SITE}/docs/concepts/`}, + { + "@type": "ListItem", + position: 3, + name: "Concepts", + item: `${SITE}/docs/concepts/`, + }, {"@type": "ListItem", position: 4, name: "Glossary", item: GLOSSARY_URL}, ], }, diff --git a/src/pages/index.js b/src/pages/index.js index 312447fdd..21f55b687 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -2,7 +2,17 @@ import React from "react"; import Layout from "@theme/Layout"; import Head from "@docusaurus/Head"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; -import {Community, KeployCloud, Resources, QuickStart, GetStartedPaths, TestingCapabilities, QuickStartTabs, WhatIsKeploy, EcosystemSupport} from "../components"; +import { + Community, + KeployCloud, + Resources, + QuickStart, + GetStartedPaths, + TestingCapabilities, + QuickStartTabs, + WhatIsKeploy, + EcosystemSupport, +} from "../components"; import {Products} from "../components/Product"; //import {Intro} from "../components"; export default function Home() { @@ -47,29 +57,30 @@ export default function Home() { // The Article JSON-LD below derives its `headline`/`description` from these // same constants so the schema, the rendered <title>, the meta description // and the sr-only H1 all agree — single source of truth. - const docsHomeTitle = "Keploy Documentation — Install, Capture & Replay API Tests"; - const docsHomeDescription = "Install Keploy in 5 minutes, capture real API traffic with eBPF, and replay it as deterministic tests in CI. Quickstarts, SDK references, and integration guides."; - const articleSchema = - docsUrl - ? { - "@context": "https://schema.org", - "@type": "Article", - headline: docsHomeTitle, - description: docsHomeDescription, - mainEntityOfPage: { - "@type": "WebPage", - "@id": docsUrl, - }, - publisher: { - "@type": "Organization", - name: "Keploy", - logo: { - "@type": "ImageObject", - url: "https://keploy.io/docs/img/favicon.png", - }, + const docsHomeTitle = + "Keploy Documentation — Install, Capture & Replay API Tests"; + const docsHomeDescription = + "Install Keploy in 5 minutes, capture real API traffic with eBPF, and replay it as deterministic tests in CI. Quickstarts, SDK references, and integration guides."; + const articleSchema = docsUrl + ? { + "@context": "https://schema.org", + "@type": "Article", + headline: docsHomeTitle, + description: docsHomeDescription, + mainEntityOfPage: { + "@type": "WebPage", + "@id": docsUrl, + }, + publisher: { + "@type": "Organization", + name: "Keploy", + logo: { + "@type": "ImageObject", + url: "https://keploy.io/docs/img/favicon.png", }, - } - : null; + }, + } + : null; return ( <div className="main"> diff --git a/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md b/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md index 5c3791a4d..772a12efa 100644 --- a/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md @@ -18,37 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample CRUD App (CSharp) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample CRUD App (CSharp) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md b/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md index 57f19e05e..13585a1b8 100644 --- a/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md +++ b/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md @@ -17,37 +17,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Express + PostgreSQL + Prisma Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Express + PostgreSQL + Prisma Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/flask-redis.md b/versioned_docs/version-4.0.0/quickstart/flask-redis.md index afbebfac0..c9277d6cd 100644 --- a/versioned_docs/version-4.0.0/quickstart/flask-redis.md +++ b/versioned_docs/version-4.0.0/quickstart/flask-redis.md @@ -20,37 +20,38 @@ keywords: - API Test generator - Auto case generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Library App (Flask + Redis) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Library App (Flask + Redis) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md b/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md index 1c4e15b05..706c3a809 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md @@ -18,37 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample CRUD App (Golang) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample CRUD App (Golang) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md b/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md index 4c337dee4..c95f3cbbf 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md +++ b/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md @@ -18,37 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample User Authentication App (Golang) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample User Authentication App (Golang) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import EnterpriseInstallReminder from '@site/src/components/EnterpriseInstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md b/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md index 2b8e3280c..d8816e42a 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md +++ b/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md @@ -19,37 +19,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Mux MySQL Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Mux MySQL Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md b/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md index e0dc4404f..c34976dc0 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md @@ -19,37 +19,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Product Catalog App (Golang) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Product Catalog App (Golang) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md index 21a54b24c..7e52c0deb 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md @@ -23,37 +23,38 @@ keywords: - Auto Testcase generation - Junit --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Rest API with Spring-Boot and MongoDB — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Rest API with Spring-Boot and MongoDB — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md index c2c496710..83a78497b 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md @@ -26,37 +26,38 @@ keywords: - Junit - React --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Keploy with OpenHospital — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Keploy with OpenHospital — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md index c6072c649..4a939ecdc 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md @@ -22,37 +22,38 @@ keywords: - Auto Testcase generation - JAXB --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample REST API with Spring-Boot and XML — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample REST API with Spring-Boot and XML — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md b/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md index 0358dff3a..f5638750e 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md @@ -24,37 +24,38 @@ keywords: - Test PetClinic - Junit --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Keploy Integration with PetClinic App — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Keploy Integration with PetClinic App — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> # Instructions For Starting Using API backend Binary diff --git a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md index 79bb3d7c1..edd1a5088 100644 --- a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md +++ b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md @@ -12,37 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="K8s Record Replay — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git", "Kind", "kubectl", "Helm"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="K8s Record Replay — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git", "Kind", "kubectl", "Helm"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> # Kubernetes Live Record & Replay using Keploy Proxy diff --git a/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md b/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md index 3afff3eeb..202dd1f8a 100644 --- a/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md @@ -12,37 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="NextJs Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="NextJs Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md b/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md index fea7c36d4..2d514a86c 100644 --- a/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md +++ b/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md @@ -16,37 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Node.js Express Mongoose Sample — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Node.js Express Mongoose Sample — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import Link from '@docusaurus/Link' diff --git a/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md b/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md index 5bc1b6b98..0a5f923cb 100644 --- a/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md @@ -16,37 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="NodeJS - JWT Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="NodeJS - JWT Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import Link from '@docusaurus/Link' diff --git a/versioned_docs/version-4.0.0/quickstart/python-django-sql.md b/versioned_docs/version-4.0.0/quickstart/python-django-sql.md index 2777ee888..aab868838 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-django-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/python-django-sql.md @@ -19,37 +19,38 @@ keywords: - API Test generator - Auto case generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample User Data CRUD App (Django) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample User Data CRUD App (Django) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md b/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md index e6c5c28f1..c3d8dedca 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md @@ -20,37 +20,38 @@ keywords: - API Test generator - Auto case generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Student Data CRUD App — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Student Data CRUD App — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md b/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md index e063891c2..af0711f53 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md +++ b/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md @@ -22,37 +22,38 @@ keywords: - API Test generator - Auto case generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample SMS Sending App — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample SMS Sending App — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md b/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md index edba0383e..64dc2729a 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md @@ -21,37 +21,38 @@ keywords: - API Test generator - Auto case generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Task Creation CRUD App — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Task Creation CRUD App — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import Link from '@docusaurus/Link' diff --git a/versioned_docs/version-4.0.0/quickstart/python-microservices.md b/versioned_docs/version-4.0.0/quickstart/python-microservices.md index 97a99d8c2..156c8f950 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-microservices.md +++ b/versioned_docs/version-4.0.0/quickstart/python-microservices.md @@ -22,37 +22,38 @@ keywords: - API Test generator - Auto case generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="E-commerce Microservices — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="E-commerce Microservices — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import EnterpriseInstallReminder from '@site/src/components/EnterpriseInstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md b/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md index 33f622187..7a8436c33 100644 --- a/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md @@ -12,37 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Rust Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Rust Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md b/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md index 87db78996..94525358f 100644 --- a/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md @@ -15,37 +15,38 @@ keywords: - CRUD - REST --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="CRUD REST API with MongoDB — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="CRUD REST API with MongoDB — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> This is a sample CRUD REST API application to showcase Keploy integration capabilities using Rust and MongoDB. Let's get started! 🚀 diff --git a/versioned_docs/version-4.0.0/quickstart/sample-ts.md b/versioned_docs/version-4.0.0/quickstart/sample-ts.md index a4ea482d8..75c466ce7 100644 --- a/versioned_docs/version-4.0.0/quickstart/sample-ts.md +++ b/versioned_docs/version-4.0.0/quickstart/sample-ts.md @@ -12,37 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Typescript Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Typescript Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Running Natively on Linux/WSL diff --git a/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md b/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md index 00c237564..1863a99fc 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md @@ -20,37 +20,38 @@ keywords: - javascript - typescript --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="BunJS Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="BunJS Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/samples-echo.md b/versioned_docs/version-4.0.0/quickstart/samples-echo.md index 692529e3e..40076e4cf 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-echo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-echo.md @@ -18,37 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Echo SQL Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Echo SQL Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md index f2952750b..0ff847544 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md @@ -16,37 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Course-Selling API (Express) — Record and Replay Tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Course-Selling API (Express) — Record and Replay Tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md b/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md index d5087058e..b78fe94f2 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md @@ -18,37 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample URL Shortener App (Golang) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample URL Shortener App (Golang) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md b/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md index 7cd887eb0..1b21888e2 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md @@ -18,37 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Real-Time App (Svelte) — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Real-Time App (Svelte) — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/samples-java.md b/versioned_docs/version-4.0.0/quickstart/samples-java.md index 2e6f326b6..178f316a2 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-java.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-java.md @@ -23,37 +23,38 @@ keywords: - Auto Testcase generation - Junit --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Java Sample Application — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Java Sample Application — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> # Example Employee-Manager App diff --git a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md index 40056fcfc..5cd4f87ac 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md @@ -21,37 +21,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Node.js MongoDB Sample — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Node.js MongoDB Sample — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Introduction 📌 diff --git a/versioned_docs/version-4.0.0/quickstart/samples-rust.md b/versioned_docs/version-4.0.0/quickstart/samples-rust.md index 7398ebdbb..331fa0e3c 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-rust.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-rust.md @@ -14,37 +14,38 @@ keywords: - API Test generator - Auto Testcase generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="GraphQL Application with MongoDB — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="GraphQL Application with MongoDB — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md b/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md index 463b95fc3..e70c831b3 100644 --- a/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md @@ -24,37 +24,38 @@ keywords: - API Test generator - Auto case generation --- + import HowTo from '@site/src/components/HowTo'; <HowTo - name="Sample Movie API with Sanic and MongoDB — record and replay tests with Keploy" - description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." - totalTime="PT10M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["Keploy CLI", "Docker", "git"]} - visible={false} - steps={[ - { - name: "Install Keploy", - text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", - }, - { - name: "Clone the sample app", - text: "Clone the sample repo referenced on this page and install its dependencies.", - }, - { - name: "Start dependencies (database, etc.)", - text: "Bring up any Docker services the app needs (databases, message queues) before recording.", - }, - { - name: "Record API calls", - text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", - }, - { - name: "Replay tests", - text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", - }, - ]} +name="Sample Movie API with Sanic and MongoDB — record and replay tests with Keploy" +description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." +totalTime="PT10M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["Keploy CLI", "Docker", "git"]} +visible={false} +steps={[ +{ +name: "Install Keploy", +text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", +}, +{ +name: "Clone the sample app", +text: "Clone the sample repo referenced on this page and install its dependencies.", +}, +{ +name: "Start dependencies (database, etc.)", +text: "Bring up any Docker services the app needs (databases, message queues) before recording.", +}, +{ +name: "Record API calls", +text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", +}, +{ +name: "Replay tests", +text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", +}, +]} /> ## Introduction diff --git a/versioned_docs/version-4.0.0/server/installation.md b/versioned_docs/version-4.0.0/server/installation.md index bd5a17919..8015e240a 100644 --- a/versioned_docs/version-4.0.0/server/installation.md +++ b/versioned_docs/version-4.0.0/server/installation.md @@ -29,33 +29,33 @@ import HowTo from '@site/src/components/HowTo'; import InstallationGuide from '../concepts/installation.md' <HowTo - name="Install Keploy on Linux and capture your first test" - description="Install the Keploy CLI locally and start recording API calls in under five minutes." - totalTime="PT5M" - estimatedCost={{currency: "USD", value: "0"}} - tools={["bash", "curl", "Linux kernel >= 5.10"]} - supplies={["A Linux or WSL2 machine", "Sudo access"]} - visible={false} - steps={[ - { - name: "Download and install the Keploy binary", - text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh", - }, - { - name: "Verify the installation", - text: "Run: keploy --version", - }, - { - name: "Record API calls for your app", - text: "Run: keploy record -c \"CMD_TO_RUN_APP\" (for example, keploy record -c \"go run main.go\").", - url: "#capturing-testcases", - }, - { - name: "Replay the recorded tests", - text: "Run: keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay testcases and detect regressions.", - url: "#running-testcases", - }, - ]} +name="Install Keploy on Linux and capture your first test" +description="Install the Keploy CLI locally and start recording API calls in under five minutes." +totalTime="PT5M" +estimatedCost={{currency: "USD", value: "0"}} +tools={["bash", "curl", "Linux kernel >= 5.10"]} +supplies={["A Linux or WSL2 machine", "Sudo access"]} +visible={false} +steps={[ +{ +name: "Download and install the Keploy binary", +text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh", +}, +{ +name: "Verify the installation", +text: "Run: keploy --version", +}, +{ +name: "Record API calls for your app", +text: "Run: keploy record -c \"CMD_TO_RUN_APP\" (for example, keploy record -c \"go run main.go\").", +url: "#capturing-testcases", +}, +{ +name: "Replay the recorded tests", +text: "Run: keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay testcases and detect regressions.", +url: "#running-testcases", +}, +]} /> <InstallationGuide/> From db024c0eb59c919067710a46e2d7c160d63ce58a Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Thu, 7 May 2026 16:54:41 +0530 Subject: [PATCH 08/11] chore(vale): skip <HowTo> MDX blocks when linting prose MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vale was treating JSX prop values inside <HowTo> blocks as narrative prose and flagging Google.Quotes (commas inside `"Keploy CLI", "Docker"` arrays), Google.EmDash (the " — " separators in display names), and Vale.Spelling on identifier-like step text. None of those are prose; they're structured component data. Add BlockIgnores patterns covering both self-closing and paired forms so the linter stays focused on the actual tutorial copy. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- .vale.ini | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.vale.ini b/.vale.ini index c43022bee..d92a743d9 100644 --- a/.vale.ini +++ b/.vale.ini @@ -8,6 +8,15 @@ Vocab = Base # Enable Markdown-specific styles. BasedOnStyles = Vale, Google +# Skip MDX component blocks. The <HowTo> wrapper carries JSX prop values +# (step text, tool/supply names, em-dash separators in display names) that +# Vale otherwise lints as prose — flagging quote/punctuation rules and +# em-dash spacing on what is structured component data, not narrative +# copy. The two patterns cover both self-closing (<HowTo ... />) and +# paired (<HowTo>...</HowTo>) usages so future authors can use either. +BlockIgnores = (?s)<HowTo\b[^>]*?/>, \ + (?s)<HowTo\b[^>]*?>.*?</HowTo> + # Customize specific rules based on your needs. List.Capitalization = YES From 9bdf01f5517660db7df0d6efe7d7d305126b578c Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Thu, 7 May 2026 17:00:01 +0530 Subject: [PATCH 09/11] chore(vale): match <HowTo> across newlines and `>` inside JSX values The previous BlockIgnores pattern `[^>]*?` stopped on the first `>`, which appears inside JSX prop values like `Linux kernel >= 5.10` and inside the `=>` arrow callbacks generated by prettier. As a result the ignore never spanned the full HowTo element and Vale was still linting its body. Switch to `[\s\S]*?` (any char, lazy) so the regex spans multiple lines and tolerates literal `>` characters in prop values. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- .vale.ini | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.vale.ini b/.vale.ini index d92a743d9..df3341e73 100644 --- a/.vale.ini +++ b/.vale.ini @@ -14,8 +14,11 @@ BasedOnStyles = Vale, Google # em-dash spacing on what is structured component data, not narrative # copy. The two patterns cover both self-closing (<HowTo ... />) and # paired (<HowTo>...</HowTo>) usages so future authors can use either. -BlockIgnores = (?s)<HowTo\b[^>]*?/>, \ - (?s)<HowTo\b[^>]*?>.*?</HowTo> +# Use [\s\S] instead of `.` (Vale's regex doesn't honour `(?s)` reliably +# in BlockIgnores) and intentionally allow `>` inside the prop body — +# `[^>]` would break on JSX values like `Linux kernel >= 5.10`. +BlockIgnores = (?s)<HowTo\b[\s\S]*?/>, \ + (?s)<HowTo\b[\s\S]*?</HowTo> # Customize specific rules based on your needs. List.Capitalization = YES From 08248a7144f4d68b9ce333ad96bc8197e894d121 Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Thu, 7 May 2026 17:04:28 +0530 Subject: [PATCH 10/11] =?UTF-8?q?chore(vale):=20accept=20"Sanic"=20?= =?UTF-8?q?=E2=80=94=20Python=20web=20framework=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vale was flagging "Sanic" in the Sanic-MongoDB quickstart's introduction prose as a misspelling. It's the proper noun of the Python framework the sample app is built on. Add to the accept vocab. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- vale_styles/config/vocabularies/Base/accept.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/vale_styles/config/vocabularies/Base/accept.txt b/vale_styles/config/vocabularies/Base/accept.txt index fdf0d75b6..198103210 100644 --- a/vale_styles/config/vocabularies/Base/accept.txt +++ b/vale_styles/config/vocabularies/Base/accept.txt @@ -71,6 +71,7 @@ realtime Redis [Rr]epo Reqnroll +Sanic SDK servlet signin From 6e9f7fff2ac89acb7b3032fdec0e155071e67f81 Mon Sep 17 00:00:00 2001 From: Neha Gupta <gneha21@yahoo.in> Date: Thu, 7 May 2026 22:08:06 +0530 Subject: [PATCH 11/11] fix(seo): align about-page metadata, JSON-LD, and visible H1 src/pages/about.js was shipping three different copies of the page's title and description: Layout `title`/`description` ("About the docs" / "User General Information about Keploy's Documentation"), the Article JSON-LD `headline`/`description` ("About the Keploy Documentation" / "Information about Keploy's documentation, contribution guidelines, and licensing."), and the visible H1 ("About the docs"). Snippet generators and rich-result renderers see a mismatch between the rendered meta tags and the structured data, which confuses the title they pick for SERP displays. Hoist the title and description into ABOUT_TITLE / ABOUT_DESCRIPTION constants and feed them into all three sites: Layout props, Article JSON-LD, and the visible H1. One source of truth. Signed-off-by: Neha Gupta <gneha21@yahoo.in> --- src/pages/about.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/pages/about.js b/src/pages/about.js index 5bbaf6bad..64ce5f15a 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -10,13 +10,24 @@ import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; // Site config sets `trailingSlash: true`, so canonical URLs in the JSON-LD // must carry the trailing slash to match the actual emitted href and avoid // duplicate URL variants in structured data. +// +// Single source of truth for the page's title and description: the Layout +// `title`/`description` props, the visible H1, and the Article JSON-LD +// `headline`/`description` all read from these constants. Previously the +// page shipped Layout title "About the docs" / description "User General +// Information about..." while the JSON-LD claimed headline "About the +// Keploy Documentation" / a different description, which confuses snippet +// generators and leaves rich-result text out of sync with the meta tags. +const ABOUT_TITLE = "About the Keploy Documentation"; +const ABOUT_DESCRIPTION = + "Information about Keploy's documentation, contribution guidelines, and licensing."; + const aboutStructuredData = [ { "@context": "https://schema.org", "@type": "Article", - headline: "About the Keploy Documentation", - description: - "Information about Keploy's documentation, contribution guidelines, and licensing.", + headline: ABOUT_TITLE, + description: ABOUT_DESCRIPTION, url: "https://keploy.io/docs/about/", publisher: { "@type": "Organization", @@ -62,9 +73,9 @@ function About() { const {siteConfig = {}} = context; return ( <Layout - title="About the docs" + title={ABOUT_TITLE} permalink="/about" - description="User General Information about Keploy's Documentation" + description={ABOUT_DESCRIPTION} > <Head> {aboutStructuredData.map((schema, i) => ( @@ -74,7 +85,7 @@ function About() { ))} </Head> <main className="margin-vert--lg container"> - <h1>About the docs</h1> + <h1>{ABOUT_TITLE}</h1> <div className="margin-bottom--lg"> <h2 id="latest">Documentation SLA</h2> <p>