diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/web.ets b/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/web.ets index e8e157e944dd98dc0c1515547c5b5f8e213a0081..eea9df3004c0ed175504a01b584e4121160bcc62 100644 --- a/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/web.ets +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/web.ets @@ -137,10 +137,6 @@ struct Index { },3000) break; } - case "emitOnConsole":{ - this.controller.runJavaScript({script:"consoleTest()"}) - break; - } case "emitLoaData":{ this.controller.loadUrl({url:"file:///data/storage/el1/bundle/phone/resources/rawfile/index.html"}) setTimeout(()=>{ @@ -164,7 +160,6 @@ struct Index { this.controller.runJavaScript({script:"getPageHeight()",callback:(res1)=>{ var zoomInCalled = false this.controller.runJavaScript({script:"getPageHeight()",callback:(res)=>{ - console.info("getPageHeight==>"+res) if (Number(res) > Number(res1)) { zoomInCalled = true } @@ -207,20 +202,7 @@ struct Index { .databaseAccess(true) .zoomAccess(this.zoomAccessValue) .textZoomRatio(this.textRatio) - .onConsole((event) => { - let level = event.message.getMessageLevel() - let msg = event.message.getMessage() - let lineNumber = event.message.getLineNumber().toString() - let sourceId = event.message.getSourceId() - console.log("lineNumber:" + lineNumber) - setTimeout(()=>{ - Utils.emitEvent(lineNumber,420) - },3000) - setTimeout(()=>{ - Utils.emitEvent(sourceId,422) - },3000) - return false - }) + } } } diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/webTwo.ets b/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/webTwo.ets new file mode 100644 index 0000000000000000000000000000000000000000..bd26c1e0a144833efc84686a76540faae573a543 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/webTwo.ets @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import events_emitter from '@ohos.events.emitter'; +import Utils from '../../test/Utils'; + +@Entry +@Component +struct Second { + controller:WebController = new WebController() + @State str:string="emitOnConsole" + @State overviewModeAccess:boolean=true + @State overviewScale:string="" + onPageShow(){ + let valueChangeEvent={ + eventId:10, + priority:events_emitter.EventPriority.LOW + }; + events_emitter.on(valueChangeEvent,this.valueChangeCallBack); + } + private valueChangeCallBack=(eventData)=>{ + console.info("web page valueChangeCallBack"); + if(eventData != null){ + console.info("valueChangeCallBack:"+ JSON.stringify(eventData)); + if(eventData.data.ACTION != null){ + this.str = eventData.data.ACTION; + } + } + } + build(){ + Column(){ + Row(){ + Button("web click").key('webcomponenttwo').onClick(async ()=>{ + console.info("key==>"+this.str); + switch(this.str){ + case "emitOnConsole":{ + this.controller.loadUrl({url:"file:///data/storage/el1/bundle/phone/resources/rawfile/index.html"}) + this.controller.runJavaScript({script:"consoleTest()"}) + break; + } + default: + console.info("can not match case"); + } + }) + } + Web({src:$rawfile('index.html'),controller:this.controller}) + .onConsole((event) => { + let level = event.message.getMessageLevel() + let msg = event.message.getMessage() + let lineNumber = event.message.getLineNumber().toString() + let sourceId = event.message.getSourceId() + console.log("lineNumber:" + lineNumber) + setTimeout(()=>{ + Utils.emitEvent(lineNumber,420) + },3000) + setTimeout(()=>{ + Utils.emitEvent(sourceId,422) + },3000) + return false + }) + } + } +} \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/List.test.ets b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/List.test.ets index 079023dd24ba05f62f21dacf79f7077bb41b6e0d..bae210db91d571d0d991383c80ae2cc4ff79fe00 100644 --- a/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/List.test.ets +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/List.test.ets @@ -13,7 +13,8 @@ * limitations under the License. */ import webJsunit from './WebJsunit.test' - +import webTwoJsunit from './WebTwoJsunit.test' export default function testsuite() { webJsunit() + webTwoJsunit() } \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebJsunit.test.ets b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebJsunit.test.ets index f0bba0e16da788f4eeb4573a98eaad3a22490c76..a6460495bb9bbc3f7aeb94bed74d578002b9fc03 100644 --- a/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebJsunit.test.ets +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebJsunit.test.ets @@ -100,28 +100,8 @@ export default function webJsunit() { *tc.desic return whether the third party cookie is allowed */ it('isThirdPartyCookieAllowed',0,async function(done){ - emitKey="emitOnConsole"; - Utils.registerEvent("isThirdPartyCookieAllowed",false,412,done); - sendEventByKey('webcomponent',10,''); - }) - /* - *tc.number SUB_ACE_BASIC_ETS_API_076 - *tc.name getLineNumber - *tc.desic return the number of console message lines - */ - it('getLineNumber',0,async function(done){ - emitKey="emitOnConsole"; - Utils.registerEvent("getLineNumber","51",420,done); - sendEventByKey('webcomponent',10,''); - }) - /* - *tc.number SUB_ACE_BASIC_ETS_API_077 - *tc.name getSourceId - *tc.desic return the source url - */ - it('getSourceId',0,async function(done){ emitKey="emitLoaData"; - Utils.registerEvent("getSourceId","file:///data/storage/el1/bundle/phone/resources/rawfile/index.html",422,done); + Utils.registerEvent("isThirdPartyCookieAllowed",false,412,done); sendEventByKey('webcomponent',10,''); }) /* @@ -131,7 +111,7 @@ export default function webJsunit() { */ it('loadData',0,async function(done){ emitKey="emitZoomAccess"; - Utils.registerEvent("loadData","index",424,done); + Utils.registerEvent("loadData","\"index\"",424,done); sendEventByKey('webcomponent',10,''); }) /* diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebTwoJsunit.test.ets b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebTwoJsunit.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..219fa25de33eb60f84263ecc5ff25b04d7e44b75 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebTwoJsunit.test.ets @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// @ts-nocheck +import { describe, beforeEach, afterEach, it, expect, beforeAll} from "@ohos/hypium"; +import events_emitter from '@ohos.events.emitter'; +import router from '@system.router'; +import Utils from './Utils.ets'; +let emitKey = "emitOnConsole"; +export default function webTwoJsunit() { + describe('overviewTest', function () { + beforeAll(async function (done) { + let options = { + uri: 'MainAbility/pages/webTwo', + } + try { + router.clear(); + let pages = router.getState(); + console.info("get webTwo state success " + JSON.stringify(pages)); + if (!("webTwo" == pages.name)) { + console.info("get webTwo state success " + JSON.stringify(pages.name)); + let result = await router.push(options); + await Utils.sleep(2000); + console.info("push webTwo page success " + JSON.stringify(result)); + } + } catch (err) { + console.error("push webTwo page error: " + err); + } + done() + }); + beforeEach(async function (done) { + await Utils.sleep(2000); + console.info("web beforeEach start"); + done(); + }) + afterEach(async function (done) { + console.info("web afterEach start:"+emitKey); + try { + let backData = { + data: { + "ACTION": emitKey + } + } + let backEvent = { + eventId:10, + priority:events_emitter.EventPriority.LOW + } + console.info("start send emitKey"); + events_emitter.emit(backEvent, backData); + } catch (err) { + console.info("emit emitKey err: " + JSON.stringify(err)); + } + await Utils.sleep(2000); + done(); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_076 + *tc.name getLineNumber + *tc.desic return the number of console message lines + */ + it('getLineNumber',0,async function(done){ + emitKey="emitOnConsole"; + Utils.registerEvent("getLineNumber","51",420,done); + sendEventByKey('webcomponenttwo',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_077 + *tc.name getSourceId + *tc.desic return the source url + */ + it('getSourceId',0,async function(done){ + emitKey="emitGetSourceId"; + Utils.registerEvent("getSourceId","file:///data/storage/el1/bundle/phone/resources/rawfile/index.html",422,done); + sendEventByKey('webcomponenttwo',10,''); + }) + }) +} \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/profile/main_pages.json b/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/profile/main_pages.json index accbf272408dce05ff15f78a1adf077bafc62174..49a8c1b20998079991aa83c52a3e6ad576f694f1 100644 --- a/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/profile/main_pages.json +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/profile/main_pages.json @@ -1,5 +1,6 @@ { "src": [ - "MainAbility/pages/web" + "MainAbility/pages/web", + "MainAbility/pages/webTwo" ] } \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/index.html b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/index.html index 127cfd31a527e3cb260a6266455430a70db80b0e..403d6d30fc01845ac7ca0386201a5858abad8b66 100644 --- a/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/index.html +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/index.html @@ -14,8 +14,8 @@
首页
- 打开rawfile文件 - icon + 打开rawfile文件 + icon