開發 Windows 系統工具與桌面應用時,如何在 GitHub Actions CI 管道中確保品質?本系列以真實開源專案為骨幹,揭密無桌面環境下的 E2E 測試挑戰。涵蓋輸入法(IME)狀態攔截、跨架構虛擬化驗證、自動關閉 OOBE 彈窗,到產出操作影片與視窗差異報告,手把手建立 Windows GUI 軟體整合測試管線。
第五章開始。前面二十天講的每一個坑,都是我在自己的測試裡踩到的——而自己的測試有一個結構性的問題: 一個為了測函式庫而寫的應用程式,只能證明函式庫跟自己一致。...
Notepad++ 的編輯區是 Scintilla——一個被大量第三方編輯器內嵌的控制項。它在 UIA 樹裡長這樣: <Pane class='Scint...
WinMerge 是四個標的裡最「乾淨」的一個:純 Win32、零外部相依、秒級啟動。它的工具列也很好測——44 個按鈕都有名字,而名字就是 tooltip:...
這一天的內容是我在這整個系列裡錯得最徹底的一次,而且錯了三次。所以寫法會跟其他天不一樣:照時間順序,把每一個錯誤結論留在原位。 標的是 DB Browser f...
回到 UIA 的複雜控制項。今天兩件事:表格相關的四個 pattern 分工不是望文生義的,以及你找不到第 150 列,是因為它真的不存在。 四個 patte...
第五章倒數第二天。兩個主題:API 回答了、回答得很有禮貌,而那個答案是空的,以及一個要走好幾步才能到的目標,失敗訊息該怎麼寫。 現象:支援那個 patter...