example-rotation.spec.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { test, expect } from '@playwright/test';
  2. test.describe('示例提示词轮播', () => {
  3. test('每隔几秒自动切换', async ({ page }) => {
  4. await page.goto('http://localhost:5173/#/pages/book-generator/create', { waitUntil: 'networkidle' });
  5. await page.waitForSelector('.example-chip', { timeout: 10000 });
  6. const initial = (await page.locator('.example-chip').first().textContent())?.trim() || '';
  7. console.log('[T=0] 示例:', initial);
  8. expect(initial.length).toBeGreaterThan(0);
  9. await page.waitForTimeout(5500);
  10. const after5s = (await page.locator('.example-chip').first().textContent())?.trim() || '';
  11. console.log('[T=5s] 示例:', after5s);
  12. expect(after5s).not.toBe(initial);
  13. await page.waitForTimeout(5000);
  14. const after10s = (await page.locator('.example-chip').first().textContent())?.trim() || '';
  15. console.log('[T=10s]示例:', after10s);
  16. expect(after10s).not.toBe(after5s);
  17. await page.screenshot({ path: 'tests/example-rotation.png', fullPage: false });
  18. });
  19. test('点击示例填充到文本框', async ({ page }) => {
  20. await page.goto('http://localhost:5173/#/pages/book-generator/create', { waitUntil: 'networkidle' });
  21. await page.waitForSelector('.example-chip', { timeout: 10000 });
  22. const text = (await page.locator('.example-chip .example-chip-text').first().textContent())?.trim() || '';
  23. await page.locator('.example-chip').first().click();
  24. await page.waitForTimeout(500);
  25. const value = await page.locator('textarea.uni-textarea-textarea').first().evaluate((el: any) => el.value);
  26. console.log('点击后文本框内容:', value);
  27. expect(value).toBe(text);
  28. });
  29. test('页面只展示一个示例 chip(不重复铺开)', async ({ page }) => {
  30. await page.goto('http://localhost:5173/#/pages/book-generator/create', { waitUntil: 'networkidle' });
  31. await page.waitForSelector('.example-chip', { timeout: 10000 });
  32. const count = await page.locator('.example-chip').count();
  33. console.log('chip 数量:', count);
  34. expect(count).toBe(1);
  35. });
  36. });