extUI.test.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. describe('pages/tabBar/extUI/extUI.nvue', () => {
  2. let page
  3. beforeAll(async () => {
  4. // 重新reLaunch至首页,并获取首页page对象(其中 program 是uni-automator自动注入的全局对象)
  5. page = await program.reLaunch('/pages/tabBar/extUI/extUI')
  6. if (process.env.UNI_PLATFORM === "h5") {
  7. await page.waitFor(1000)
  8. }
  9. if (process.env.UNI_PLATFORM === "mp-weixin" || process.env.UNI_PLATFORM === "mp-baidu") {
  10. await page.waitFor(10000)
  11. }
  12. page = await program.currentPage()
  13. })
  14. /**
  15. * 点击 u-link 组件
  16. */
  17. it('u-link 点击', async () => {
  18. const helloLink = await page.$('.hello-link')
  19. // 检测首页u-link的文本内容
  20. expect(await helloLink.text()).toBe(
  21. 'https://ext.dcloud.net.cn')
  22. })
  23. /**
  24. * 检测列表长度,是否发生变化
  25. */
  26. it('.uni-panel 列表长度', async () => {
  27. const lists = await page.$$('.uni-panel')
  28. expect(lists.length).toBe(29)
  29. })
  30. /**
  31. * 检测打开列表第一个元素是否正确
  32. */
  33. it('.uni-panel-h tap 打开 badge 组件', async () => {
  34. // 检测首个 panel 是视图容器
  35. expect(await (await page.$('.uni-panel-text')).text()).toBe(
  36. 'Badge 数字角标')
  37. const listHead = await page.$('.uni-panel-h')
  38. // 是否获取正确的元素
  39. expect(await listHead.attribute('class')).toContain(
  40. 'uni-panel-h',
  41. )
  42. // 点击第一个 item,验证打开的新页面是否正确
  43. await listHead.tap()
  44. await page.waitFor(2000)
  45. expect((await program.currentPage()).path).toBe('pages/extUI/badge/badge')
  46. await page.waitFor(500)
  47. // 执行 navigateBack 验证是否返回
  48. expect((await program.navigateBack()).path).toBe('pages/tabBar/extUI/extUI')
  49. })
  50. })