TestSprite CLI 現已推出 — 開源。到 GitHub 給顆星

在合併之前,測試每一個 Vercel 預覽

每一個 PR 都會產生新的 Vercel 預覽網址,卻幾乎沒有人去測它。TestSprite 監聽 Vercel 已經回報給 GitHub 的部署事件,推導出預覽網址,在雲端真實瀏覽器中執行你的測試,再把結果回覆到 PR 上——而且完全不更動你的儲存庫
Type
Solution
Language
繁體中文

與您的 Android 和 AI 驅動編輯器無縫整合

Claude CodeCodexAndroid StudioVisual Studio CodeCursorTrae
我們不建置也不部署任何東西。那是 Vercel 做的,它會告訴 GitHub 網址已經上線。我們監聽的正是那一刻,然後測試它產出的東西。

不需要工作流程檔

TestSprite 以 GitHub App 形式安裝,只讀取事件,因此它是站在你 Vercel 流水線的旁邊而不是裡面。.github/ 不會多出任何東西,既有的工作流程也不會被改動。

用網址樣式,而不是去爬

Vercel 預設的預覽主機名稱是由分支名稱組成的,所以通常該用 {branch-slug} 而不是 {pr}。佔位符會在每次執行時解析:{pr}{branch}{branch-slug}{sha}{short-sha}。也就是說 https://app-git-login-fix-team.vercel.app 要寫成 https://app-git-{branch-slug}-team.vercel.app

存檔之前先驗證

Send Test Event 會對一個範例 PR 完整跑一次流程,行為與真實觸發完全相同。大約 30 秒後留言就會出現——在建立觸發器之前,先打開那個網址,確認它就是你預期的環境。

給的是修正提示,不只是紅色標記

每一筆失敗都可以展開,看到預期的內容、實際觀察到的內容、失敗當下的螢幕截圖,以及一段寫成可直接貼進 AI 編碼代理的修正提示。

Priority
Test
Status
HIGH
TC001_Preview_Loads_Without_Auth_Wall
Pass
HIGH
TC002_Checkout_Completes_On_Preview
Failed
MEDIUM
TC003_ISR_Page_Serves_Fresh_Content
Pass
MEDIUM
TC004_Edge_Function_Returns_200
Pass
LOW
TC005_Open_Graph_Tags_Present
Warning

在預覽階段攔下來,而不是在正式環境

預覽部署是回歸還能便宜修好的最後一站。開啟 Block PR until tests pass,這個檢查就會變成必要條件,壞掉的流程會擋下合併,而不是出貨後由使用者發現。

為在 Vercel 上出貨的團隊打造

PR 或分支都可以

PR 觸發器會測試每個預覽並在 PR 上留言;推送觸發器則在每次合併後測試共用的預備或正式環境,並張貼 commit 檢查。兩者可以同時運作。

Web UI 與 API 一起測

對已部署預覽執行真實瀏覽器流程,加上後端 API 契約測試。把它們集中成一份測試清單,一道關卡就能涵蓋整個部署。

也可以用 CLI 驅動

開源 CLI 能在任何 CI 系統上做同樣的事——免費安裝、Apache-2.0,只需要環境變數裡的 API 金鑰。

免費社群版

提供免費社群版,讓所有人都能使用。

全球企業信賴

"做得好!TestSprite 團隊的 MCP 非常棒!對於我們的 Android 應用程式,AI 編碼 + AI 測試閉合了循環,加速了穩定版本的發布。"

"對於 Android,TestSprite 生成的測試乾淨且可靠。Appium 流程易於擴展和調試,排程運行保持了我們設備覆蓋的健康。"

"TestSprite 的自動化大幅減少了我們的 Android 手動 QA。開發人員及早發現並解決行動錯誤,確保我們的發布進度準時。"

常見問題

需要新增工作流程檔嗎?

不需要。整合完全在 TestSprite 這一側設定,不需要更動你的儲存庫。它監聽的是 Vercel 已經回報的部署事件。

TestSprite 怎麼知道 Vercel 的預覽網址?

你只需設定一次網址樣式。Vercel 預設的預覽主機名稱是由分支名稱組成的,所以通常該用 {branch-slug} 而不是 {pr}。請拿真實的預覽網址逐字比對,並在存檔前用 Send Test Event 確認它能正確解析。

如果預覽網址裡有無法預測的雜湊怎麼辦?

樣式欄位需要可預測的格式。如果你的託管商產生的是完全隨機、沒有穩定線索的子網域,請為預覽環境設定一個別名網址,再把樣式指向它。

我的測試看到的是登入頁而不是應用程式,為什麼?

因為該 Vercel 專案啟用了 Deployment Protection,預覽網址被擋在驗證牆後面,外部測試者收到的是登入畫面。測試不會報錯——它只會如實描述一個沒人預期的頁面。解法是為預覽環境關閉保護,或使用 Vercel 的 Protection Bypass for Automation:該密鑰也能以 x-vercel-protection-bypass 查詢參數的形式傳遞,因此可以直接附加在網址樣式後面。

TestSprite 實際上測什麼?

雲端真實瀏覽器中的 Web 應用程式 UI,以及後端 API。它不會驅動原生 iOS 或 Android UI、桌面應用程式或模擬器。

免費嗎?

開源 CLI 免費安裝、採 Apache-2.0 授權,也有免費社群版。測試執行在雲端進行並消耗工作區點數(前端每次執行 0.5、後端 0.2)。

每一個 Vercel 預覽,合併前都先驗過