scroll-view-props.test.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. // uni-app自动化测试教程: uni-app自动化测试教程: https://uniapp.dcloud.net.cn/worktile/auto/hbuilderx-extension/
  2. describe('component-native-scroll-view-props', () => {
  3. const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
  4. const isAndroid = platformInfo.startsWith('android')
  5. const isIOS = platformInfo.startsWith('ios')
  6. const isMP = platformInfo.startsWith('mp')
  7. const isWeb = platformInfo.startsWith('web')
  8. let page;
  9. beforeAll(async () => {
  10. page = await program.reLaunch('/pages/component/scroll-view/scroll-view-props');
  11. await page.waitFor(300);
  12. });
  13. if(!isMP) {
  14. //检测竖向可滚动区域
  15. it('check_scroll_height', async () => {
  16. await page.setData({
  17. scrollX: false
  18. })
  19. await page.waitFor(300);
  20. const value = await page.callMethod('checkScrollHeight')
  21. expect(value).toBe(true)
  22. })
  23. }
  24. //检测竖向scrolltop属性赋值
  25. it('check_scroll_top', async () => {
  26. await page.setData({
  27. scrollTop: 600
  28. })
  29. await page.waitFor(600)
  30. //检测滚动top 是否触发scroll 事件
  31. const scrollChangeTop = await page.data('scrollChangeTop')
  32. console.log("scrollChangeTop="+scrollChangeTop)
  33. expect(scrollChangeTop-600).toBeGreaterThanOrEqual(0)
  34. const element = await page.$('#scrollViewY')
  35. const scrollTop = await element.property("scrollTop")
  36. console.log("check_scroll_top---"+scrollTop)
  37. expect(scrollTop-600).toBeGreaterThanOrEqual(0)
  38. })
  39. //检测竖向scroll_into_view属性赋值
  40. it('check_scroll_into_view_top', async () => {
  41. await page.setData({
  42. scrollIntoView: "item3"
  43. })
  44. await page.waitFor(600)
  45. const element = await page.$('#scrollViewY')
  46. const scrollTop = await element.property("scrollTop")
  47. console.log("check_scroll_into_view_top--"+scrollTop)
  48. await page.setData({
  49. scrollIntoView: ""
  50. })
  51. expect(scrollTop-570).toBeGreaterThanOrEqual(0)
  52. })
  53. if(!isMP) {
  54. //检测横向可滚动区域
  55. it('check_scroll_width', async () => {
  56. await page.setData({
  57. scrollX: true
  58. })
  59. await page.waitFor(300);
  60. const value = await page.callMethod('checkScrollWidth')
  61. expect(value).toBe(true)
  62. })
  63. }
  64. //检测横向scrollLeft属性赋值
  65. it('check_scroll_left', async () => {
  66. await page.setData({
  67. scrollX: true
  68. })
  69. await page.setData({
  70. scrollLeft: 600
  71. })
  72. await page.waitFor(600)
  73. const element = await page.$('#scrollViewX')
  74. const scrollLeft = await element.property("scrollLeft")
  75. console.log("check_scroll_left---"+scrollLeft)
  76. expect(scrollLeft-600).toBeGreaterThanOrEqual(0)
  77. })
  78. //检测横向scroll_into_view属性赋值
  79. it('check_scroll_into_view_left', async () => {
  80. await page.setData({
  81. scrollX: true
  82. })
  83. await page.setData({
  84. scrollIntoView: "horizontal_item3"
  85. })
  86. await page.waitFor(600)
  87. const element = await page.$('#scrollViewX')
  88. const scrollLeft = await element.property("scrollLeft")
  89. console.log("check_scroll_into_view_left--"+scrollLeft)
  90. await page.setData({
  91. scrollIntoView: ""
  92. })
  93. expect(scrollLeft-930).toBeGreaterThanOrEqual(0)
  94. })
  95. //截图对比
  96. it('scroll-view-props-screenshot', async () => {
  97. //禁止滚动条
  98. await page.setData({
  99. showScrollbar: false
  100. })
  101. await page.waitFor(300);
  102. const image = await program.screenshot({fullPage: true});
  103. expect(image).toSaveImageSnapshot();
  104. })
  105. //截图末尾位置元素
  106. it('scroll-view-props-last-item-screenshot', async () => {
  107. //滚动到末尾位置
  108. await page.setData({
  109. scrollLeft: 10000
  110. })
  111. await page.waitFor(300);
  112. const image = await program.screenshot({fullPage: true});
  113. expect(image).toSaveImageSnapshot();
  114. })
  115. });