diff --git a/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js b/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js index 4aa1016c45d5c009c38827e8fcacae9b9bcd9ec9..f2156dc7c7a261c2cfe90b0266ce269697e375a3 100644 --- a/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js +++ b/pages/webview-screenshot-comparison/webview-screenshot-comparison.test.js @@ -234,13 +234,13 @@ describe("shot-compare", () => { page = await program.reLaunch(PAGE_PATH); await page.waitFor(500); - // pre check webview-screenshot-comparison page baseSrc - const data = await page.data(); - const _baseSrc = data["baseSrc"]; - if (!_baseSrc) { - throw new Error("webview-screenshot-comparison page baseSrc is null"); - } - baseSrc = _baseSrc; + // set webview-screenshot-comparison page baseSrc + baseSrc = + process.env.UNI_WEB_SERVICE_URL || + "http://test.dcloud.io/unix_h5_build/98_dev_hello-uni-app-x/#/"; + page.setData({ + baseSrc, + }); }); beforeEach(async () => { @@ -267,8 +267,7 @@ describe("shot-compare", () => { const isLoaded = page.data("isLoaded"); return isLoaded || Date.now() - startTime > 10000; }); - // 这个等待无法保证 web 页面加载完成,可以等 web 服务调整为发行服务后进行优化 - await page.waitFor(4000); + await page.waitFor(200); } await page.setData({ src: `${baseSrc}${pages[pageIndex]}`, @@ -279,10 +278,9 @@ describe("shot-compare", () => { const startTime = Date.now(); await page.waitFor(async () => { const isLoaded = page.data("isLoaded"); - return isLoaded || Date.now() - startTime > 10000; + return isLoaded || Date.now() - startTime > 3000; }); - // 这个等待无法保证 web 页面加载完成,可以等 web 服务调整为发行服务后进行优化 - await page.waitFor(4000); + await page.waitFor(200); if (pages[pageIndex].includes("load-font-face")) { await page.waitFor(3000); } @@ -308,7 +306,7 @@ describe("shot-compare", () => { page = await program[navigateMethod](`/${pages[pageIndex]}`); await page.waitFor(500); if (pages[pageIndex].includes("load-font-face")) { - await page.waitFor(2000); + await page.waitFor(3000); } const appAndroidSnapshot = await program.screenshot({ fullPage: isNeedAdbScreenshot ? false : true, diff --git a/pages/webview-screenshot-comparison/webview-screenshot-comparison.uvue b/pages/webview-screenshot-comparison/webview-screenshot-comparison.uvue index ad53cc6692a7a29313077ba747c140230284b199..5c7681cc5e361794a93b7f47596d39e47f2adad0 100644 --- a/pages/webview-screenshot-comparison/webview-screenshot-comparison.uvue +++ b/pages/webview-screenshot-comparison/webview-screenshot-comparison.uvue @@ -8,7 +8,6 @@ export default { data() { return { - // example baseSrc: 'http://ip:port/#/', baseSrc: '', src: '', webviewContext: null as WebviewContext | null, @@ -25,18 +24,18 @@ }, appendWebHeadPlaceholder() { this.webviewContext?.evalJS(` - const hasWebHeadPlaceholder = document.querySelector('.web-head-placeholder-for-screenshot-comparison'); - if (hasWebHeadPlaceholder) { - return; - } - const webHeadPlaceholder = document.createElement('div'); - webHeadPlaceholder.style.height = '52px'; - webHeadPlaceholder.style.backgroundColor = '#007aff'; - webHeadPlaceholder.classList.add('web-head-placeholder-for-screenshot-comparison'); - const uniPage = document.querySelector('uni-page'); - const uniPageHead = document.querySelector('uni-page-head'); - uniPage.insertBefore(webHeadPlaceholder, uniPageHead); - `); + const hasWebHeadPlaceholder = document.querySelector('.web-head-placeholder-for-screenshot-comparison'); + if (hasWebHeadPlaceholder) { + return; + } + const webHeadPlaceholder = document.createElement('div'); + webHeadPlaceholder.style.height = '52px'; + webHeadPlaceholder.style.backgroundColor = '#007aff'; + webHeadPlaceholder.classList.add('web-head-placeholder-for-screenshot-comparison'); + const uniPage = document.querySelector('uni-page'); + const uniPageHead = document.querySelector('uni-page-head'); + uniPage.insertBefore(webHeadPlaceholder, uniPageHead); + `); }, loaded() { this.isLoaded = true