smoke.mjs 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. import { chromium } from 'playwright'
  2. const errors = []
  3. const browser = await chromium.launch()
  4. const ctx = await browser.newContext()
  5. const page = await ctx.newPage()
  6. page.on('pageerror', e => errors.push('PAGEERROR: ' + e.message))
  7. page.on('console', m => { if (m.type() === 'error') errors.push('CONSOLE: ' + m.text()) })
  8. await page.goto('http://localhost:8080/', { waitUntil: 'networkidle', timeout: 15000 })
  9. await page.waitForTimeout(1000)
  10. const title = await page.title()
  11. const url = page.url()
  12. const loginVisible = await page.locator('.login-box').count()
  13. console.log('TITLE:', title)
  14. console.log('URL:', url)
  15. console.log('LOGIN_BOX_COUNT:', loginVisible)
  16. console.log('ERRORS:', errors.length)
  17. errors.forEach(e => console.log(' -', e))
  18. // Try login
  19. if (loginVisible > 0) {
  20. await page.fill('input[placeholder="请输入账号"]', 'admin')
  21. await page.fill('input[placeholder="请输入密码"]', '123456')
  22. await page.click('button.login-btn')
  23. await page.waitForTimeout(2000)
  24. console.log('AFTER_LOGIN_URL:', page.url())
  25. const sidebar = await page.locator('.sidebar').count()
  26. console.log('SIDEBAR_COUNT:', sidebar)
  27. const contentText = await page.locator('.content').innerText().catch(() => '')
  28. console.log('CONTENT_PREVIEW:', contentText.slice(0, 200))
  29. }
  30. console.log('FINAL_ERRORS:', errors.length)
  31. errors.forEach(e => console.log(' -', e))
  32. await browser.close()