diff --git a/pages.json b/pages.json index 4a17638b235d867452a0cbac19d49722a5966551..12a7091a40307be97bffa521a9dc645bff2b01fe 100644 --- a/pages.json +++ b/pages.json @@ -263,6 +263,12 @@ "enablePullDownRefresh": true } }, + { + "path": "pages/API/navigator/new-page/onLoad", + "style": { + "navigationBarTitleText": "onLoad 生命周期测试" + } + }, { "path": "pages/API/pull-down-refresh/pull-down-refresh", "style": { @@ -939,13 +945,13 @@ "style": { "navigationBarTitleText": "自定义TabBar" } - }, { + }, + { "path": "pages/API/facial-recognition-verify/facial-recognition-verify", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": false } - } ], "globalStyle": { diff --git a/pages/API/navigator/new-page/new-page-1.uvue b/pages/API/navigator/new-page/new-page-1.uvue index 3895c2850a557d59b75f47a135f86047f40eb52f..c339940bd1bfe2b7949bad212c3f7bd61dc8b115 100644 --- a/pages/API/navigator/new-page/new-page-1.uvue +++ b/pages/API/navigator/new-page/new-page-1.uvue @@ -39,6 +39,11 @@ export default { }, }) }, + navigateToOnLoadWithType(type: string) { + uni.navigateTo({ + url: `/pages/API/navigator/new-page/onLoad?type=${type}`, + }) + } }, } diff --git a/pages/API/navigator/new-page/onLoad.test.js b/pages/API/navigator/new-page/onLoad.test.js new file mode 100644 index 0000000000000000000000000000000000000000..8edf7b24150d8d4edf7dd445efdc1ecd0b36c2be --- /dev/null +++ b/pages/API/navigator/new-page/onLoad.test.js @@ -0,0 +1,98 @@ +jest.setTimeout(20000); +const PAGE_PATH = "/pages/API/navigator/new-page/onLoad"; +const INTERMEDIATE_PAGE_PATH = "/pages/API/navigator/new-page/new-page-1"; +const TARGET_PAGE_PATH = "/pages/API/navigator/new-page/new-page-2"; +let page; + +describe("onLoad", () => { + it("adjustData", async () => { + page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + await page.waitFor(500); + await page.callMethod("navigateToOnLoadWithType", "adjustData"); + await page.waitFor(1000); + const image = await program.screenshot(); + expect(image).toMatchImageSnapshot(); + }); + // 先出现 TARGET_PAGE_PATH 页面,再出现 onLoad 页面, 顺序异常 + // it("navigateTo", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "navigateTo"); + // await page.waitFor(1000); + // page = await program.currentPage(); + // expect(page.path).toBe(TARGET_PAGE_PATH.substring(1)); + // }); + // 页面白屏 + // it("navigateBack", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "navigateBack"); + // await page.waitFor(1000); + // page = await program.currentPage(); + // expect(page.path).toBe(TARGET_PAGE_PATH.substring(1)); + // }); + // 直接出现 TARGET_PAGE_PATH 页面,又动画了 TARGET_PAGE_PATH 页面 + // it("redirectTo", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "redirectTo"); + // await page.waitFor(1000); + // page = await program.currentPage(); + // expect(page.path).toBe(TARGET_PAGE_PATH.substring(1)); + // }); + // 直接出现 TARGET_PAGE_PATH 页面,又动画了 TARGET_PAGE_PATH 页面 + // it("reLaunch", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "reLaunch"); + // await page.waitFor(1000); + // page = await program.currentPage(); + // expect(page.path).toBe(TARGET_PAGE_PATH.substring(1)); + // }); + // 页面白屏 + // it("switchTab", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "switchTab"); + // await page.waitFor(1000); + // page = await program.currentPage(); + // expect(page.path).toBe("pages/tabBar/component"); + // }); + // toast 出现在 INTERMEDIATE_PAGE_PATH 页面(非 onLoad 生命周期所在页面) + // 当 navigateTo 到 onLoad 页面时,toast 会被关闭 + // it("showToast", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "showToast"); + // await page.waitFor(1000); + // const image = await program.screenshot(); + // expect(image).toMatchImageSnapshot(); + // }); + // 同 toast + // it("showLoading", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "showLoading"); + // await page.waitFor(1000); + // const image = await program.screenshot(); + // expect(image).toMatchImageSnapshot(); + // }); + // 同 toast + // it("showModal", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "showModal"); + // await page.waitFor(1000); + // const image = await program.screenshot(); + // expect(image).toMatchImageSnapshot(); + // }); + // 同 toast + // it("showActionSheet", async () => { + // page = await program.reLaunch(INTERMEDIATE_PAGE_PATH); + // await page.waitFor(500); + // await page.callMethod("navigateToOnLoadWithType", "showActionSheet"); + // await page.waitFor(1000); + // const image = await program.screenshot(); + // expect(image).toMatchImageSnapshot(); + // }); +}); diff --git a/pages/API/navigator/new-page/onLoad.uvue b/pages/API/navigator/new-page/onLoad.uvue new file mode 100644 index 0000000000000000000000000000000000000000..bab65d35bae7338b9adedcc0342fab4756568452 --- /dev/null +++ b/pages/API/navigator/new-page/onLoad.uvue @@ -0,0 +1,111 @@ + + +