import { test, expect } from '@playwright/test'; test.describe('CodePlay 转换功能', () => { test.beforeEach(async ({ page }) => { await page.goto('/'); }); test('页面加载成功', async ({ page }) => { await expect(page).toHaveTitle(/CodePlay/); await expect(page.locator('h1')).toBeVisible(); }); test('C# 转 Java 转换', async ({ page }) => { // 输入 C# 代码 const csharpCode = ` namespace Test { public class Calculator { public int Add(int a, int b) { return a + b; } } }`; await page.locator('textarea').first().fill(csharpCode); // 选择源语言和目标语言 await page.selectOption('select[name="sourceLanguage"]', 'CSharp'); await page.selectOption('select[name="targetLanguage"]', 'Java'); // 点击转换按钮 await page.click('button:has-text("转换")'); // 等待转换结果 await page.waitForTimeout(2000); // 验证结果 const resultArea = page.locator('textarea').nth(1); await expect(resultArea).toBeVisible(); const result = await resultArea.inputValue(); expect(result).toContain('public class Calculator'); expect(result).toContain('public int Add'); }); test('显示转换统计', async ({ page }) => { await page.click('button:has-text("转换")'); await page.waitForTimeout(2000); // 验证统计信息可见 await expect(page.locator('.statistics')).toBeVisible(); }); });