TOJE2E - NTOJ E2E 測試專案
這是針對 NTOJ (New TOJ) 的端對端測試專案,使用 Playwright 框架。
專案連結
TOJ github repo: https://github.com/TFcis/NTOJ
TOJ website: https://toj.tfcis.org/oj/
TOJ spec:
- https://tobiichi3227.eu.org:312/NTOJ/system/
- https://tobiichi3227.eu.org:312/NTOJ/std/
- https://tobiichi3227.eu.org:312/NTOJ/std-manage/
- https://tobiichi3227.eu.org:312/NTOJ/contest/
- https://tobiichi3227.eu.org:312/NTOJ/contest-manage/
專案結構
TOJE2E/
├── tests/ # 測試文件
├── pages/ # Page Object Models
├── utils/ # 工具函數和測試資料
├── playwright.config.ts # Playwright 配置
└── package.json # 依賴和腳本
安裝
npm install
npx playwright install --with-deps
運行測試
無頭模式(Headless)
適合在沒有圖形介面或背景運行時使用:
npm test
# 或
npm run test:headless
非無頭模式(Headed - 有視窗)
適合在本地開發時使用,可以看到瀏覽器執行過程:
npm run test:headed
UI 模式(互動式)
Playwright 的圖形化測試介面,可以逐步執行、除錯:
npm run test:ui
除錯模式
單步執行測試,適合開發和除錯:
npm run test:debug
查看測試報告
測試完成後查看 HTML 報告:
npm run test:report
錄製測試(Codegen)
自動生成測試程式碼:
npm run test:codegen
測試配置
測試目標:https://tobiichi3227.eu.org:312
測試帳號配置在 .env 檔案中:
- TEST_EMAIL=fsdoiujfs@example.org
- TEST_PASSWORD=Fsdoiujfs
常用場景
1. 本地開發時執行並觀看
npm run test:headed
2. 快速執行所有測試
npm test
3. 執行特定測試檔案
npx playwright test tests/01-basic.spec.ts
4. 執行特定測試(帶視窗)
npx playwright test tests/01-basic.spec.ts --headed
測試狀態
✅ Playwright 環境設置完成 ✅ 基本測試框架建立 ⚠️ 待開發:登入測試、題目測試、提交測試
下一步
- 創建登入測試
- 創建 Page Object Models
- 測試題目瀏覽功能
- 測試程式碼提交功能
- 測試比賽相關功能
Languages
TypeScript
100%