diff --git a/pages/API/download-file/download-file.test.js b/pages/API/download-file/download-file.test.js index adc8848de2b03f3110d72918788f5d7a805f6fb5..85ed9b054d2912dbb24bb579cfe735341f658af6 100644 --- a/pages/API/download-file/download-file.test.js +++ b/pages/API/download-file/download-file.test.js @@ -25,26 +25,23 @@ describe('ExtApi-DownloadFile', () => { let shouldTestCookie = false if (process.env.uniTestPlatformInfo.startsWith('android')) { let version = process.env.uniTestPlatformInfo - version = version.split(" ")[1] + version = parseInt(version.split(" ")[1]) shouldTestCookie = version > 9 - } else if (process.env.uniTestPlatformInfo.startsWith('web')) { + } else if (process.env.uniTestPlatformInfo.startsWith('web')) { // TODO 测试网址调整后放开此测试 shouldTestCookie = false } + if (!shouldTestCookie) { + return + } it('Check Set Cookie', async () => { - if (!shouldTestCookie) { - return - } res = await page.callMethod('jest_set_cookie') await page.waitFor(2000); res = await page.data('jest_result'); expect(res).toBe(true) }); it('Check Delete Cookie', async () => { - if (!shouldTestCookie) { - return - } res = await page.callMethod('jest_delete_cookie') await page.waitFor(2000); res = await page.data('jest_result'); diff --git a/pages/API/request/request.test.js b/pages/API/request/request.test.js index 0e1d3788a703931e93d9670af51b09ee54a836c6..e383482709300f9ef809b03902706710f635fe4c 100644 --- a/pages/API/request/request.test.js +++ b/pages/API/request/request.test.js @@ -39,8 +39,8 @@ describe('ExtApi-Request', () => { beforeEach(async () => { await page.setData({ - jest_result: false, - data: null, + jest_result: false, + data: null, header: null }) }); @@ -69,41 +69,37 @@ describe('ExtApi-Request', () => { }); it('Check PATCH', async () => { await request(page, 'PATCH'); - }); + }); if (process.env.uniTestPlatformInfo.indexOf('web') === -1) { it('Check OPTIONS', async () => { await request(page, 'OPTIONS'); - }); + }); } it('Check HEAD', async () => { await request(page, 'HEAD'); - }); - - - if (process.env.uniTestPlatformInfo.indexOf('web') === -1) { - it('Check Set Cookie', async () => { - if (process.env.uniTestPlatformInfo.startsWith('android')) { - let version = process.env.uniTestPlatformInfo - version = version.split(" ")[1] - if(version > 9){ - res = await page.callMethod('jest_set_cookie') - await page.waitFor(2000); - res = await page.data('jest_result'); - expect(res).toBe(true) - } - } - }); - it('Check Delete Cookie', async () => { - if (process.env.uniTestPlatformInfo.startsWith('android')) { - let version = process.env.uniTestPlatformInfo - version = version.split(" ")[1] - if(version > 9){ - res = await page.callMethod('jest_delete_cookie') - await page.waitFor(2000); - res = await page.data('jest_result'); - expect(res).toBe(true) - } - } - }); + }); + + let shouldTestCookie = false + if (process.env.uniTestPlatformInfo.startsWith('android')) { + let version = process.env.uniTestPlatformInfo + version = parseInt(version.split(" ")[1]) + shouldTestCookie = version > 9 + } + + if (!shouldTestCookie) { + return } + + it('Check Set Cookie', async () => { + res = await page.callMethod('jest_set_cookie') + await page.waitFor(2000); + res = await page.data('jest_result'); + expect(res).toBe(true) + }); + it('Check Delete Cookie', async () => { + res = await page.callMethod('jest_delete_cookie') + await page.waitFor(2000); + res = await page.data('jest_result'); + expect(res).toBe(true) + }); }); diff --git a/pages/API/upload-file/upload-file.test.js b/pages/API/upload-file/upload-file.test.js index 5c234efc2a0729ef28352ab58347ccd40d7ad906..6f26d3ee46ea0fb8fd8d0d72f28b2fed02dba41e 100644 --- a/pages/API/upload-file/upload-file.test.js +++ b/pages/API/upload-file/upload-file.test.js @@ -1,11 +1,11 @@ const PAGE_PATH = '/pages/API/upload-file/upload-file' describe('ExtApi-UploadFile', () => { - if(process.env.uniTestPlatformInfo.startsWith('web')){ + if (process.env.uniTestPlatformInfo.startsWith('web')) { // TODO: web 端暂不支持测试 it('web', async () => { expect(1).toBe(1) - }) + }) return } @@ -27,36 +27,36 @@ describe('ExtApi-UploadFile', () => { it('Check ', async () => { expect(res).toBe(true); + }); + + it('Check files upload', async () => { + res = await page.callMethod('jest_files_upload') + await page.waitFor(2000); + res = await page.data('jest_result'); + expect(res).toBe(true) }); + let shouldTestCookie = false + if (process.env.uniTestPlatformInfo.startsWith('android')) { + let version = process.env.uniTestPlatformInfo + version = parseInt(version.split(" ")[1]) + shouldTestCookie = version > 9 + } + + if (!shouldTestCookie) { + return + } + it('Check Set Cookie', async () => { - if (process.env.uniTestPlatformInfo.startsWith('android')) { - let version = process.env.uniTestPlatformInfo - version = version.split(" ")[1] - if(version > 9){ - res = await page.callMethod('jest_set_cookie') - await page.waitFor(2000); - res = await page.data('jest_result'); - expect(res).toBe(true) - } - } + res = await page.callMethod('jest_set_cookie') + await page.waitFor(2000); + res = await page.data('jest_result'); + expect(res).toBe(true) }); it('Check Delete Cookie', async () => { - if (process.env.uniTestPlatformInfo.startsWith('android')) { - let version = process.env.uniTestPlatformInfo - version = version.split(" ")[1] - if(version > 9){ - res = await page.callMethod('jest_delete_cookie') - await page.waitFor(2000); - res = await page.data('jest_result'); - expect(res).toBe(true) - } - } - }); - it('Check files upload', async () => { - res = await page.callMethod('jest_files_upload') + res = await page.callMethod('jest_delete_cookie') await page.waitFor(2000); res = await page.data('jest_result'); expect(res).toBe(true) }); -}); +}); diff --git a/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js b/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js index d45e1b49c412bc84edf9c36f88a74ede8e724ef9..167110ea39b773f800e501cefebb51d5c08b5c04 100644 --- a/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js +++ b/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js @@ -193,8 +193,8 @@ const pages = [ // "pages/API/install-apk/install-apk", // "pages/template/scroll-sticky/scroll-sticky", // "pages/API/exit/exit", - // "pages/API/element-takesnapshot/element-takesnapshot", - // "pages/API/get-system-setting/get-system-setting", + // "pages/API/element-takesnapshot/element-takesnapshot", + // "pages/API/get-system-setting/get-system-setting", // "pages/API/get-app-authorize-setting/get-app-authorize-setting", // 仅 web @@ -223,7 +223,7 @@ const needAdbScreenshotPages = [ "pages/API/action-sheet/action-sheet", "pages/API/modal/modal", "pages/API/loading/loading", - "pages/API/toast/toast", + "pages/API/toast/toast", "pages/API/pull-down-refresh/pull-down-refresh", ]; @@ -235,115 +235,123 @@ const PAGE_PATH = "/pages/webview-screenshot-comparison/webview-screenshot-comparison"; describe("shot-compare", () => { - if (process.env.uniTestPlatformInfo.startsWith("android")) { - let page = null; - let pageIndex = 0; - let baseSrc = ""; - beforeAll(async () => { - // 获取导航栏+状态栏高度 - page = await program.reLaunch('/pages/API/get-window-info/get-window-info') - await page.callMethod('getWindowInfo') - // 获取设备像素比 - page = await program.reLaunch('/pages/API/get-device-info/get-device-info') - await page.callMethod('getDeviceInfo') - page = await program.reLaunch(PAGE_PATH); - await page.waitFor(500); + let shouldCompareScreenShot = false + if (process.env.uniTestPlatformInfo.startsWith('android')) { + let version = process.env.uniTestPlatformInfo + version = parseInt(version.split(" ")[1]) + shouldCompareScreenShot = version > 9 + } - // set webview-screenshot-comparison page baseSrc - baseSrc = - process.env.UNI_WEB_SERVICE_URL ? `${process.env.UNI_WEB_SERVICE_URL}/#/` : - "http://test.dcloud.io/unix_h5_build/98_dev_hello-uni-app-x/#/"; - page.setData({ - baseSrc, - }); - }); + if (!shouldCompareScreenShot) { + it("other platform not support", async () => { + expect(1).toBe(1); + }); + return + } - beforeEach(async () => { - page = await program.reLaunch(PAGE_PATH); - await page.waitFor(500); - }); - afterEach(() => { - pageIndex++; + let page = null; + let pageIndex = 0; + let baseSrc = ""; + beforeAll(async () => { + // 获取导航栏+状态栏高度 + page = await program.reLaunch('/pages/API/get-window-info/get-window-info') + await page.callMethod('getWindowInfo') + // 获取设备像素比 + page = await program.reLaunch('/pages/API/get-device-info/get-device-info') + await page.callMethod('getDeviceInfo') + page = await program.reLaunch(PAGE_PATH); + await page.waitFor(500); + + // set webview-screenshot-comparison page baseSrc + baseSrc = + process.env.UNI_WEB_SERVICE_URL ? `${process.env.UNI_WEB_SERVICE_URL}/#/` : + "http://test.dcloud.io/unix_h5_build/98_dev_hello-uni-app-x/#/"; + page.setData({ + baseSrc, }); + }); - test.each(pages)("%s", async () => { - const isNeedAdbScreenshot = needAdbScreenshot(pages[pageIndex]); - const isCustomNavigationBar = customNavigationPages.includes(pages[pageIndex]); - const { - statusBarHeight, - devicePixelRatio - } = await page.data(); - const screenshotParams = { - fullPage: true, - adb: isNeedAdbScreenshot, - // adb 截图时跳过状态栏 - area: { - x: 0, - y: statusBarHeight * devicePixelRatio, - }, - } - const screenshotPath = `__webview__${pages[pageIndex].replace(/\//g, "-")}`; + beforeEach(async () => { + page = await program.reLaunch(PAGE_PATH); + await page.waitFor(500); + }); + afterEach(() => { + pageIndex++; + }); - // web in webview screenshot - // 加载依赖页面 - if (childToParentPagesMap.get(pages[pageIndex])) { - await page.setData({ - src: `${baseSrc}${childToParentPagesMap.get(pages[pageIndex])}`, - isLoaded: false - }); - await page.waitFor(async () => { - const isLoaded = await page.data("isLoaded"); - return isLoaded || Date.now() - startTime > 10000; - }); - await page.waitFor(200); - } + test.each(pages)("%s", async () => { + const isNeedAdbScreenshot = needAdbScreenshot(pages[pageIndex]); + const isCustomNavigationBar = customNavigationPages.includes(pages[pageIndex]); + const { + statusBarHeight, + devicePixelRatio + } = await page.data(); + const screenshotParams = { + fullPage: true, + adb: isNeedAdbScreenshot, + // adb 截图时跳过状态栏 + area: { + x: 0, + y: statusBarHeight * devicePixelRatio, + }, + } + const screenshotPath = `__webview__${pages[pageIndex].replace(/\//g, "-")}`; + + // web in webview screenshot + // 加载依赖页面 + if (childToParentPagesMap.get(pages[pageIndex])) { await page.setData({ - src: `${baseSrc}${pages[pageIndex]}`, - isLoaded: false, - isCustomNavigationBar, + src: `${baseSrc}${childToParentPagesMap.get(pages[pageIndex])}`, + isLoaded: false }); - - const startTime = Date.now(); await page.waitFor(async () => { const isLoaded = await page.data("isLoaded"); - return isLoaded || Date.now() - startTime > 3000; + return isLoaded || Date.now() - startTime > 10000; }); - await page.waitFor(800); - if (pages[pageIndex].includes("load-font-face")) { - await page.waitFor(3000); - } + await page.waitFor(200); + } + await page.setData({ + src: `${baseSrc}${pages[pageIndex]}`, + isLoaded: false, + isCustomNavigationBar, + }); - // web 端非 adb 截图时设置 offsetY 移除导航栏 - const webSnapshot = await program.screenshot({ - ...screenshotParams, - id: 'webview-screenshot-comparison', - offsetY: `${isCustomNavigationBar ? 0 : 44}` - }); - expect(webSnapshot).toMatchImageSnapshot({ - customSnapshotIdentifier() { - return screenshotPath; - }, - }); + const startTime = Date.now(); + await page.waitFor(async () => { + const isLoaded = await page.data("isLoaded"); + return isLoaded || Date.now() - startTime > 3000; + }); + await page.waitFor(800); + if (pages[pageIndex].includes("load-font-face")) { + await page.waitFor(3000); + } - // app-android page screenshot comparison - const navigateMethod = pages[pageIndex].startsWith("pages/tabBar") ? - "switchTab" : - "navigateTo"; - page = await program[navigateMethod](`/${pages[pageIndex]}`); - await page.waitFor(500); - if (pages[pageIndex].includes("load-font-face")) { - await page.waitFor(3000); - } - const appAndroidSnapshot = await program.screenshot(screenshotParams); - expect(appAndroidSnapshot).toMatchImageSnapshot({ - customSnapshotIdentifier() { - return screenshotPath; - }, - }); + // web 端非 adb 截图时设置 offsetY 移除导航栏 + const webSnapshot = await program.screenshot({ + ...screenshotParams, + id: 'webview-screenshot-comparison', + offsetY: `${isCustomNavigationBar ? 0 : 44}` }); - } else { - it("other platform not support", async () => { - expect(1).toBe(1); + expect(webSnapshot).toMatchImageSnapshot({ + customSnapshotIdentifier() { + return screenshotPath; + }, }); - } -}); + + // app-android page screenshot comparison + const navigateMethod = pages[pageIndex].startsWith("pages/tabBar") ? + "switchTab" : + "navigateTo"; + page = await program[navigateMethod](`/${pages[pageIndex]}`); + await page.waitFor(500); + if (pages[pageIndex].includes("load-font-face")) { + await page.waitFor(3000); + } + const appAndroidSnapshot = await program.screenshot(screenshotParams); + expect(appAndroidSnapshot).toMatchImageSnapshot({ + customSnapshotIdentifier() { + return screenshotPath; + }, + }); + }); +}); diff --git a/pages/webview-screenshot/webview-screenshot.test.js b/pages/webview-screenshot/webview-screenshot.test.js index 57cb85a35fccebbb31c2557fce1a45c43a927584..faa41945ae0a3218afb09e7ae6e0f59851c479cf 100644 --- a/pages/webview-screenshot/webview-screenshot.test.js +++ b/pages/webview-screenshot/webview-screenshot.test.js @@ -223,7 +223,7 @@ const needAdbScreenshotPages = [ "pages/API/action-sheet/action-sheet", "pages/API/modal/modal", "pages/API/loading/loading", - "pages/API/toast/toast", + "pages/API/toast/toast", "pages/API/pull-down-refresh/pull-down-refresh", ]; @@ -235,92 +235,99 @@ const PAGE_PATH = "/pages/webview-screenshot/webview-screenshot"; describe("shot-compare", () => { - if (process.env.uniTestPlatformInfo.startsWith("android")) { - let page = null; - let pageIndex = 0; - let baseSrc = ""; - beforeAll(async () => { - page = await program.reLaunch(PAGE_PATH); - await page.waitFor(500); + let shouldCompareScreenShot = false + if (process.env.uniTestPlatformInfo.startsWith('android')) { + let version = process.env.uniTestPlatformInfo + version = parseInt(version.split(" ")[1]) + shouldCompareScreenShot = version > 9 + } - // set webview-screenshot page baseSrc - baseSrc = - process.env.UNI_WEB_SERVICE_URL ? `${process.env.UNI_WEB_SERVICE_URL}/#/` : - "http://test.dcloud.io/unix_h5_build/98_dev_hello-uni-app-x/#/"; - page.setData({ - baseSrc, - }); - }); + if (!shouldCompareScreenShot) { + it("other platform not support", async () => { + expect(1).toBe(1); + }); + return + } + let page = null; + let pageIndex = 0; + let baseSrc = ""; + beforeAll(async () => { + page = await program.reLaunch(PAGE_PATH); + await page.waitFor(500); - beforeEach(async () => { - page = await program.reLaunch(PAGE_PATH); - await page.waitFor(500); - }); - afterEach(() => { - pageIndex++; + // set webview-screenshot page baseSrc + baseSrc = + process.env.UNI_WEB_SERVICE_URL ? `${process.env.UNI_WEB_SERVICE_URL}/#/` : + "http://test.dcloud.io/unix_h5_build/98_dev_hello-uni-app-x/#/"; + page.setData({ + baseSrc, }); + }); + + beforeEach(async () => { + page = await program.reLaunch(PAGE_PATH); + await page.waitFor(500); + }); + afterEach(() => { + pageIndex++; + }); - test.each(pages)("%s", async () => { - const isNeedAdbScreenshot = needAdbScreenshot(pages[pageIndex]); - const isCustomNavigation = customNavigationPages.includes(pages[pageIndex]); - const { - headerHeight, - devicePixelRatio - } = await page.data(); - const screenshotParams = { - fullPage: true, - adb: isNeedAdbScreenshot, - // adb 截图时跳过状态栏 - area: { - x: 0, - y: (headerHeight - 44) * devicePixelRatio, - }, - } - const screenshotPath = `webview-shot__${pages[pageIndex].replace(/\//g, "-")}`; + test.each(pages)("%s", async () => { + const isNeedAdbScreenshot = needAdbScreenshot(pages[pageIndex]); + const isCustomNavigation = customNavigationPages.includes(pages[pageIndex]); + const { + headerHeight, + devicePixelRatio + } = await page.data(); + const screenshotParams = { + fullPage: true, + adb: isNeedAdbScreenshot, + // adb 截图时跳过状态栏 + area: { + x: 0, + y: (headerHeight - 44) * devicePixelRatio, + }, + } + const screenshotPath = `webview-shot__${pages[pageIndex].replace(/\//g, "-")}`; - // web in webview screenshot - // 加载依赖页面 - if (childToParentPagesMap.get(pages[pageIndex])) { - await page.setData({ - src: `${baseSrc}${childToParentPagesMap.get(pages[pageIndex])}`, - isLoaded: false - }); - await page.waitFor(async () => { - const isLoaded = await page.data("isLoaded"); - return isLoaded || Date.now() - startTime > 10000; - }); - await page.waitFor(200); - } + // web in webview screenshot + // 加载依赖页面 + if (childToParentPagesMap.get(pages[pageIndex])) { await page.setData({ - src: `${baseSrc}${pages[pageIndex]}`, - isLoaded: false, - needRemoveWebHead: !isNeedAdbScreenshot, + src: `${baseSrc}${childToParentPagesMap.get(pages[pageIndex])}`, + isLoaded: false }); - - const startTime = Date.now(); await page.waitFor(async () => { const isLoaded = await page.data("isLoaded"); - return isLoaded || Date.now() - startTime > 3000; + return isLoaded || Date.now() - startTime > 10000; }); - await page.waitFor(1000); - if (pages[pageIndex].includes("load-font-face")) { - await page.waitFor(3000); - } + await page.waitFor(200); + } + await page.setData({ + src: `${baseSrc}${pages[pageIndex]}`, + isLoaded: false, + needRemoveWebHead: !isNeedAdbScreenshot, + }); - // web 端非 adb 截图时设置 offsetY 移除导航栏 - const webSnapshot = await program.screenshot({ - ...screenshotParams, - offsetY: `${isCustomNavigation ? 0 : headerHeight}` - }); - expect(webSnapshot).toMatchImageSnapshot({ - customSnapshotIdentifier() { - return screenshotPath; - }, - }); + const startTime = Date.now(); + await page.waitFor(async () => { + const isLoaded = await page.data("isLoaded"); + return isLoaded || Date.now() - startTime > 3000; }); - } else { - it("other platform not support", async () => { - expect(1).toBe(1); + await page.waitFor(1000); + if (pages[pageIndex].includes("load-font-face")) { + await page.waitFor(3000); + } + + // web 端非 adb 截图时设置 offsetY 移除导航栏 + const webSnapshot = await program.screenshot({ + ...screenshotParams, + offsetY: `${isCustomNavigation ? 0 : headerHeight}` }); - } -}); + expect(webSnapshot).toMatchImageSnapshot({ + customSnapshotIdentifier() { + return screenshotPath; + }, + }); + }); +});