昨天晚上我偶然逛到我另一個有一陣子沒有更新的部落格網站,結果大吃一驚發現裡面的圖片都跑不出來了。我仔細調查,才發現原來是我在該網站使用的某個 WordPress 外掛程式自動更新到了新版,導致我另外自己寫的一段與之相輔的程式碼無法正常運作的緣故。

雖然這個問題本身不難修正,但天曉得這個情況持續了多久?幾天?幾週?雖然那個網站也不算人潮眾多,但是那陣子來我網站的訪客(尤其是新訪客)豈不很失望?這些念頭實在頗難讓我釋懷。於是我下定決心要解決這個問題,確保類似的問題不會再有下次。

當然,首先我一定是先把導致問題的外掛的自動更新關掉。但是這樣做,並沒有辦法本質上地杜絕其它外掛或者甚至 WordPress 自身更新導致的一些我未預期的問題。而我也不可能每天花時間親自查看網站是否運作正常;我會需要一個自動化的方案。說到這邊,就會想到 Playwright 的 e2e 測試了,它可以讓我高度自訂地寫出一個檢查的腳本:到某個頁面、查看某個元素有沒有顯示、按下去看看互動對不對……等等。可是如果說要我在本地端排程去定時執行 Playwright 測試,我又覺得不是很理想。我希望的是一個功能上類似於 Playwright 的雲端服務、會在測試失敗的時候即時給我通知、而且當然最好免費。本來還在懷疑這種東西有沒有可能存在,結果問了一下 ChatGPT 竟然還真的有,就是今天要介紹的 Checkly

事實上 Checkly 不只是功能上類似於 Playwright,而是它的瀏覽器測試根本就是跑 Playwright 沒錯,所以我連改寫腳本都不用了,稍早寫好的直接貼進去就行了(它也有提供一個編輯介面可以直接編寫 Playwright 程式碼,並且提供了很多範本可以參考)。Checkly 當然有給企業團隊用的付費方案,有更多進階功能,但是如果只是要定時跑跑測試、並且接收失敗通知這些基本功能的話,免費的 Hobby 方案就已經足夠了 1。而且它接收通知的管道很多元,免費方案有電子郵件、Slack、自訂 Webhook、Discord 和微軟 Teams 這幾個方式可以設定(付費方案則尚有手機簡訊、GitLab alerts 等等許多);像我就選擇了用 Discord 來接收通知(上面的圖示就是它們的 Discord Bot 專用圖示)。

它的瀏覽器測試最密集可以到每分鐘跑一次(這可以用來做伺服器的 heartbeat 2 檢查;當然,要是拿免費方案這樣跑,一天就會幾乎把每月額度都用完了),而像我是要檢查網站的功能是否正常,這不用跑得太頻繁,我設成每六小時跑一次就已經很足夠了。另外它還支援從世界各個不同的國家發起測試(這可以用來測試網站在不同地區的連線表現),設定維護空窗期(付費方案限定;免得網站進入排定的維護時一直被失敗通知騷擾),檢視與下載歷來的測試結果報表……超多實用功能的。

它也可以產生類似像這樣的 badge:

有了 Checkly,以後就不用再擔心網站發生意料之外的狀況而不自覺囉~可以安心了 😀

我對 Checkly 的初體驗評分如下:

實用程度:⭐⭐⭐⭐⭐
文件清楚:⭐⭐⭐⭐
設置容易:⭐⭐⭐⭐
概念易懂:⭐⭐⭐⭐⭐
客服回應:⭐⭐⭐⭐⭐


  1. 免費方案每個月可以跑一千五百次瀏覽器測試,非常夠了。更多關於免費與付費方案的功能比較,可以參考這裡。另外,Checkly 的專員在客服過程中向我透露,他們近期中將會推出另一個介於 Hobby 和 Team 方案之間的新方案可以選擇。 

  2. Checkly 也有個叫 heartbeat 付費功能,不過那個是用來監控我們設定的 Checkly 任務是否有正常在執行用的,意思不一樣。 


分享此頁至:
最後修改日期: 2025/04/02

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。您的留言可能會在審核之後才出現在頁面上。