overflow-visible-event.test.js 3.4 KB
Newer Older
1 2 3
// uni-app自动化测试教程: https://uniapp.dcloud.net.cn/worktile/auto/hbuilderx-extension/

describe('/pages/CSS/overflow/overflow-visible-event.uvue', () => {
4 5
  let isAndroid = process.env.uniTestPlatformInfo.startsWith('android')
  if (!process.env.uniTestPlatformInfo.startsWith('android') && !process.env.uniTestPlatformInfo.toLowerCase().includes('ios')) {
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    it('dummyTest', async () => {
      expect(1).toBe(1)
    })
    return
  }

	let page;
  let res;
	beforeAll(async () => {
	  page = await program.reLaunch('/pages/CSS/overflow/overflow-visible-event')
	  await page.waitFor(600);
	})
  beforeEach(async () => {
    await page.setData({
      jest_result: false,
21 22
      jest_click_x: -1,
      jest_click_y: -1
23 24 25 26 27 28 29
    })
  });

  it('Check Overflow Visible Part Click', async () => {
    res = await page.callMethod('jest_getRect')
    const point_x = await page.data('jest_click_x');
    const point_y = await page.data('jest_click_y');
30 31 32 33 34
    if (isAndroid){
      await program.adbCommand("input tap" + " " + point_x + " " + point_y)
    } else {
      await program.tap({x: point_x, y: point_y})
    }
35 36 37 38
    await page.waitFor(500);
    res = await page.data('jest_result');
    expect(res).toBe(true)
  });
39 40 41 42 43 44 45 46 47

  // 此测试针对开发者使用 translate 移动view
  it('Check Overflow Visible Part Use translate Drag', async ()=> {
    await page.callMethod('jest_getRect')
    const point_x = await page.data('jest_click_x');
    const point_y = await page.data('jest_click_y');
    const distance = 100;
    const destY = point_y + 100
    const duration = 1000
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
    if (isAndroid) {
      await program.adbCommand("input swipe" + " " + point_x + " " + point_y + " " + point_x + " " + destY + " " + duration)
    } else {
      await program.swipe({
            startPoint: {
              x: point_x,
              y: point_y
            },
            endPoint: {
              x: point_x,
              y: destY
            },
            duration: duration
          })
    }
63 64 65
    await page.waitFor(1500);
    await page.callMethod('jest_getParentRect')
    const currentParentTop = await page.data('jest_parent_top');
66
    const offset = 4
67 68 69 70 71
    const diff = Math.abs(currentParentTop - distance) < offset
    console.log("current ", currentParentTop);
    console.log("diff", diff);
    expect(diff).toBe(true)
  })
72 73 74 75 76 77

  it('Check Overflow Visible Block View Click', async () => {
    await page.callMethod('jest_getAbsoluteViewRect')
    const point_x = await page.data('jest_click_x');
    const point_y = await page.data('jest_click_y');
    console.log("input tap" + " " + point_x + " " + point_y);
78 79 80 81 82
    if (isAndroid) {
      await program.adbCommand("input tap" + " " + point_x + " " + point_y)
    } else {
      await program.tap({x: point_x, y: point_y})
    }
83 84 85 86
    await page.waitFor(500);
    res = await page.data('jest_result');
    expect(res).toBe(true)
  })
87 88 89 90 91 92 93

  it('Check Overflow Visible Deep Level Click', async () => {
    await page.callMethod('jest_scrollToDeepOverflow')
    await page.waitFor(500);
    const point_x = await page.data('jest_click_x');
    const point_y = await page.data('jest_click_y');
    console.log("input tap" + " " + point_x + " " + point_y);
94 95 96 97 98
    if (isAndroid) {
      await program.adbCommand("input tap" + " " + point_x + " " + point_y)
    } else {
      await program.tap({x: point_x, y: point_y})
    }
99 100 101 102
    await page.waitFor(500);
    res = await page.data('jest_result');
    expect(res).toBe(true)
  })
103
});