text-props.test.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. const PAGE_PATH = '/pages/component/text/text-props'
  2. const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
  3. const isMP = platformInfo.startsWith('mp')
  4. const isWeb = platformInfo.startsWith('web')
  5. describe('text-props', () => {
  6. let page
  7. beforeAll(async () => {
  8. page = await program.navigateTo(PAGE_PATH)
  9. await page.waitFor(1000)
  10. })
  11. it('screenshot', async () => {
  12. const image = await program.screenshot({ fullPage: true })
  13. expect(image).toSaveImageSnapshot()
  14. })
  15. it('empty text', async () => {
  16. await page.setData({
  17. autoTest: true
  18. })
  19. const element = await page.$('#empty-text')
  20. if (element != null) {
  21. const { width, height } = await element.size()
  22. expect(width).toBe(0)
  23. expect(height).toBe(0)
  24. }
  25. await page.callMethod("setEmptyText")
  26. await page.waitFor(100)
  27. const element2 = await page.$('#empty-text2')
  28. if (element2 != null) {
  29. expect(await element2.text()).toBe('')
  30. const { width, height } = await element2.size()
  31. expect(width).toBe(0)
  32. expect(height).toBe(0)
  33. }
  34. const element3 = await page.$('#empty-text3')
  35. if (element3 != null) {
  36. expect(await element3.text()).toBe('')
  37. }
  38. await page.setData({
  39. autoTest: false
  40. })
  41. })
  42. it('nested text', async () => {
  43. await page.setData({
  44. autoTest: true
  45. })
  46. await page.callMethod("setNestedText")
  47. await page.waitFor(100)
  48. const element = await page.$('#nested-text')
  49. if (!isMP && element != null) {
  50. // TODO 微信小程序端疑似自动化测试框架Bug,此处text方法会返回`"修改三级节点文本修改三级节点文本"`,手动测试未发现问题
  51. expect(await element.text()).toBe("修改三级节点文本")
  52. }
  53. if(isMP || isWeb) {
  54. // 不支持 program.tap
  55. expect(1).toBe(1)
  56. return
  57. }
  58. const rect = await page.callMethod("getBoundingClientRectForTest")
  59. const windowInfo = await program.callUniMethod('getWindowInfo');
  60. await program.tap({
  61. x: Math.ceil(rect.left + rect.width / 2),
  62. y: Math.ceil(windowInfo.statusBarHeight + 44 + rect.top + rect.height / 2)
  63. })
  64. await page.waitFor(300)
  65. expect(await page.data('isNestedText1TapTriggered')).toBe(true)
  66. expect(await page.data('isNestedText2TapTriggered')).toBe(true)
  67. await page.setData({
  68. autoTest: false
  69. })
  70. })
  71. it('height text', async () => {
  72. await page.setData({
  73. autoTest: true
  74. })
  75. await page.callMethod("setHeightText")
  76. await page.waitFor(100)
  77. const element = await page.$('#height-text')
  78. if (element != null) {
  79. expect(await element.text()).toBe("修改设置高度文本")
  80. }
  81. await page.setData({
  82. autoTest: false
  83. })
  84. })
  85. })