124 lines
2.3 KiB
Markdown
124 lines
2.3 KiB
Markdown
# 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 # 依賴和腳本
|
||
```
|
||
|
||
## 安裝
|
||
|
||
```bash
|
||
npm install
|
||
npx playwright install --with-deps
|
||
```
|
||
|
||
## 運行測試
|
||
|
||
### 無頭模式(Headless)
|
||
適合在沒有圖形介面或背景運行時使用:
|
||
|
||
```bash
|
||
npm test
|
||
# 或
|
||
npm run test:headless
|
||
```
|
||
|
||
### 非無頭模式(Headed - 有視窗)
|
||
適合在本地開發時使用,可以看到瀏覽器執行過程:
|
||
|
||
```bash
|
||
npm run test:headed
|
||
```
|
||
|
||
### UI 模式(互動式)
|
||
Playwright 的圖形化測試介面,可以逐步執行、除錯:
|
||
|
||
```bash
|
||
npm run test:ui
|
||
```
|
||
|
||
### 除錯模式
|
||
單步執行測試,適合開發和除錯:
|
||
|
||
```bash
|
||
npm run test:debug
|
||
```
|
||
|
||
### 查看測試報告
|
||
測試完成後查看 HTML 報告:
|
||
|
||
```bash
|
||
npm run test:report
|
||
```
|
||
|
||
### 錄製測試(Codegen)
|
||
自動生成測試程式碼:
|
||
|
||
```bash
|
||
npm run test:codegen
|
||
```
|
||
|
||
## 測試配置
|
||
|
||
測試目標:https://tobiichi3227.eu.org:312
|
||
|
||
測試帳號配置在 `.env` 檔案中:
|
||
- TEST_EMAIL=fsdoiujfs@example.org
|
||
- TEST_PASSWORD=Fsdoiujfs
|
||
|
||
## 常用場景
|
||
|
||
### 1. 本地開發時執行並觀看
|
||
```bash
|
||
npm run test:headed
|
||
```
|
||
|
||
### 2. 快速執行所有測試
|
||
```bash
|
||
npm test
|
||
```
|
||
|
||
### 3. 執行特定測試檔案
|
||
```bash
|
||
npx playwright test tests/01-basic.spec.ts
|
||
```
|
||
|
||
### 4. 執行特定測試(帶視窗)
|
||
```bash
|
||
npx playwright test tests/01-basic.spec.ts --headed
|
||
```
|
||
|
||
## 測試狀態
|
||
|
||
✅ Playwright 環境設置完成
|
||
✅ 基本測試框架建立
|
||
⚠️ 待開發:登入測試、題目測試、提交測試
|
||
|
||
## 下一步
|
||
|
||
1. 創建登入測試
|
||
2. 創建 Page Object Models
|
||
3. 測試題目瀏覽功能
|
||
4. 測試程式碼提交功能
|
||
5. 測試比賽相關功能 |