diff --git a/ROADMAP.md b/ROADMAP.md index 083c56f..4f74032 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -20,7 +20,8 @@ Items tagged **`good first issue`** or **`help wanted`** are open for contributi Most users find a framework by searching, not by browsing GitHub. -- **Per-page SEO descriptions** across all docs pages — *in progress*. +- ✅ **Per-page SEO descriptions** across all docs pages — done. All 51 pages already had + one; trimmed the 10 that ran past Google's ~160-char display limit (2026-10-01). - **"Why" pages** — Why Selenium Boot? · Why not plain Selenium? · Why not Playwright? · Why accessibility-first locators? · Why WaitEngine? `good first issue` - **Recipes section** — task-titled, search-matched guides: upload a file, download a PDF, iframes, Shadow DOM, tables, infinite scroll, OAuth/SSO, alerts, drag & drop, REST + UI. `good first issue` - **Migration guides** — from Selenium + TestNG, from WebDriverManager, from Selenide, from Serenity; plus a "coming from Playwright" bridge (familiar vs. different, **not** a replacement claim). `help wanted` diff --git a/docs-site/docs/migration/coming-from-playwright.md b/docs-site/docs/migration/coming-from-playwright.md index 46a94b9..c72ba6a 100644 --- a/docs-site/docs/migration/coming-from-playwright.md +++ b/docs-site/docs/migration/coming-from-playwright.md @@ -1,5 +1,5 @@ --- -description: "Coming from Playwright to Selenium Boot: a bridge, not a replacement. What's familiar — getByRole/getByLabel locators, auto-waiting, web-first assertThat — and what's genuinely different: architecture, language/runtime, and Selenium Grid." +description: "Coming from Playwright to Selenium Boot: a bridge, not a replacement. What's familiar — getByRole/getByLabel locators, auto-waiting, web-first assertions." id: coming-from-playwright title: Coming from Playwright sidebar_label: Coming from Playwright diff --git a/docs-site/docs/migration/from-selenium-testng.md b/docs-site/docs/migration/from-selenium-testng.md index 4b676b4..d6d497b 100644 --- a/docs-site/docs/migration/from-selenium-testng.md +++ b/docs-site/docs/migration/from-selenium-testng.md @@ -1,5 +1,5 @@ --- -description: "Migrate a Selenium + TestNG framework to Selenium Boot: delete your driver factory, wait utils, retry analyzer, and reporting glue, and see the boilerplate disappear side by side." +description: "Migrate a Selenium + TestNG framework to Selenium Boot: delete your driver factory, wait utils, retry analyzer, and reporting glue." id: from-selenium-testng title: Migrate from Selenium + TestNG sidebar_label: From Selenium + TestNG diff --git a/docs-site/docs/migration/from-webdrivermanager.md b/docs-site/docs/migration/from-webdrivermanager.md index 3ee0853..517d81f 100644 --- a/docs-site/docs/migration/from-webdrivermanager.md +++ b/docs-site/docs/migration/from-webdrivermanager.md @@ -1,5 +1,5 @@ --- -description: "Migrate off WebDriverManager: modern Selenium bundles Selenium Manager, so Selenium Boot resolves driver binaries with zero WebDriverManager code — delete the setup calls and the dependency." +description: "Migrate off WebDriverManager: modern Selenium bundles Selenium Manager, so Selenium Boot resolves driver binaries with zero WebDriverManager code." id: from-webdrivermanager title: Migrate from WebDriverManager sidebar_label: From WebDriverManager diff --git a/docs-site/docs/recipes/download-and-verify-a-pdf.md b/docs-site/docs/recipes/download-and-verify-a-pdf.md index 6a1f8de..2fc5b77 100644 --- a/docs-site/docs/recipes/download-and-verify-a-pdf.md +++ b/docs-site/docs/recipes/download-and-verify-a-pdf.md @@ -1,5 +1,5 @@ --- -description: "Download and verify a PDF in Selenium: DownloadManager waits for the file to appear in the download directory, handling partial downloads, so you can assert it exists and is non-empty." +description: "Download and verify a PDF in Selenium: DownloadManager waits for the file to appear in the download directory, handling partial downloads." id: download-and-verify-a-pdf title: Download and verify a PDF sidebar_label: Download & verify a PDF diff --git a/docs-site/docs/recipes/handle-iframes.md b/docs-site/docs/recipes/handle-iframes.md index 21cc13c..5719cb7 100644 --- a/docs-site/docs/recipes/handle-iframes.md +++ b/docs-site/docs/recipes/handle-iframes.md @@ -1,5 +1,5 @@ --- -description: "Handle iframes in Selenium without manual switchTo() bookkeeping: Selenium Boot's withinFrame runs your actions inside the frame and restores the previous context automatically, even when nested." +description: "Handle iframes in Selenium without manual switchTo() bookkeeping: withinFrame runs your actions inside the frame and restores context automatically." id: handle-iframes title: Handle iframes sidebar_label: Handle iframes diff --git a/docs-site/docs/recipes/handle-shadow-dom.md b/docs-site/docs/recipes/handle-shadow-dom.md index f8529d1..97c8aee 100644 --- a/docs-site/docs/recipes/handle-shadow-dom.md +++ b/docs-site/docs/recipes/handle-shadow-dom.md @@ -1,5 +1,5 @@ --- -description: "Handle Shadow DOM in Selenium: Selenium Boot pierces shadow roots with shadowFind, shadowClick, and shadowType, and traverses nested web components with shadowPierce — no manual JavaScript." +description: "Handle Shadow DOM in Selenium: Selenium Boot pierces shadow roots with shadowFind, shadowClick, and shadowType, no manual JavaScript needed." id: handle-shadow-dom title: Handle Shadow DOM sidebar_label: Handle Shadow DOM diff --git a/docs-site/docs/recipes/upload-a-file.md b/docs-site/docs/recipes/upload-a-file.md index e046ff9..b817a84 100644 --- a/docs-site/docs/recipes/upload-a-file.md +++ b/docs-site/docs/recipes/upload-a-file.md @@ -1,5 +1,5 @@ --- -description: "Upload a file in Selenium without OS dialogs: Selenium Boot's upload(By, path) sets the file input directly, with paths resolved from the classpath or an absolute location." +description: "Upload a file in Selenium without OS dialogs: Selenium Boot's upload(By, path) sets the file input directly, with paths resolved from the classpath or disk." id: upload-a-file title: Upload a file sidebar_label: Upload a file diff --git a/docs-site/docs/why/why-not-plain-selenium.md b/docs-site/docs/why/why-not-plain-selenium.md index 5cb9282..0736274 100644 --- a/docs-site/docs/why/why-not-plain-selenium.md +++ b/docs-site/docs/why/why-not-plain-selenium.md @@ -1,5 +1,5 @@ --- -description: "Why not plain Selenium? Raw Selenium is low-level by design — every team rebuilds the same driver factory, wait utils, retry analyzer, and reporting. Selenium Boot is that framework, maintained and tested, without hiding Selenium." +description: "Why not plain Selenium? Raw Selenium is low-level by design — every team rebuilds the same driver factory, wait utils, retry analyzer, and reporting." id: why-not-plain-selenium title: Why not plain Selenium? sidebar_label: Why not plain Selenium? diff --git a/docs-site/docs/why/why-not-playwright.md b/docs-site/docs/why/why-not-playwright.md index c8b6ec8..1e17122 100644 --- a/docs-site/docs/why/why-not-playwright.md +++ b/docs-site/docs/why/why-not-playwright.md @@ -1,5 +1,5 @@ --- -description: "Why not Playwright? An honest answer: Selenium Boot does not replace Playwright. It brings Playwright's best ideas — accessibility-first locators, auto-waiting, web-first assertions — to teams staying in the Selenium / Java / Grid ecosystem." +description: "Why not Playwright? An honest answer: Selenium Boot does not replace it. It brings Playwright's best ideas to teams staying in Selenium / Java / Grid." id: why-not-playwright title: Why not Playwright? sidebar_label: Why not Playwright? diff --git a/docs-site/docs/why/why-selenium-boot.md b/docs-site/docs/why/why-selenium-boot.md index 338b2da..2e2f910 100644 --- a/docs-site/docs/why/why-selenium-boot.md +++ b/docs-site/docs/why/why-selenium-boot.md @@ -1,5 +1,5 @@ --- -description: "Why Selenium Boot: the Spring Boot of Selenium — zero setup, Playwright-inspired locators and auto-waiting, and enterprise features, without hiding Selenium. The philosophy before the API." +description: "Why Selenium Boot: the Spring Boot of Selenium — zero setup, Playwright-inspired locators and auto-waiting, enterprise features, without hiding Selenium." id: why-selenium-boot title: Why Selenium Boot? sidebar_label: Why Selenium Boot?