From d4cd14bd1c5c12823a5264b3f04c3c8d00685de0 Mon Sep 17 00:00:00 2001 From: zhangxinyue Date: Sun, 18 Sep 2022 17:04:50 +0800 Subject: [PATCH] fixed aef1b25 from https://gitee.com/zhang-xinyue15/xts_acts/pulls/5525 add a new test suite Signed-off-by: zhangxinyue --- arkui/BUILD.gn | 1 + arkui/ace_ets_web_dev_two/AppScope/app.json | 21 ++ .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 15458 bytes arkui/ace_ets_web_dev_two/BUILD.gn | 41 +++ arkui/ace_ets_web_dev_two/Test.json | 18 ++ .../src/main/ets/Application/AbilityStage.ts | 9 + .../src/main/ets/MainAbility/MainAbility.ts | 37 +++ .../src/main/ets/MainAbility/pages/web.ets | 256 ++++++++++++++++++ .../ets/TestRunner/OpenHarmonyTestRunner.ts | 78 ++++++ .../entry/src/main/ets/test/List.test.ets | 19 ++ .../entry/src/main/ets/test/Utils.ets | 135 +++++++++ .../src/main/ets/test/WebJsunit.test.ets | 208 ++++++++++++++ .../entry/src/main/module.json | 41 +++ .../main/resources/base/element/string.json | 32 +++ .../src/main/resources/base/media/icon.png | Bin 0 -> 15458 bytes .../resources/base/profile/main_pages.json | 5 + .../src/main/resources/rawfile/extra.html | 7 + .../entry/src/main/resources/rawfile/icon.png | Bin 0 -> 15458 bytes .../src/main/resources/rawfile/index.html | 70 +++++ .../src/main/resources/rawfile/second.html | 12 + .../main/resources/rawfile/webstorage.html | 39 +++ .../signature/openharmony_sx.p7b | Bin 0 -> 3842 bytes 23 files changed, 1037 insertions(+) create mode 100644 arkui/ace_ets_web_dev_two/AppScope/app.json create mode 100644 arkui/ace_ets_web_dev_two/AppScope/resources/base/element/string.json create mode 100644 arkui/ace_ets_web_dev_two/AppScope/resources/base/media/app_icon.png create mode 100644 arkui/ace_ets_web_dev_two/BUILD.gn create mode 100644 arkui/ace_ets_web_dev_two/Test.json create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/ets/Application/AbilityStage.ts create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/MainAbility.ts create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/web.ets create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/ets/test/List.test.ets create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/ets/test/Utils.ets create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebJsunit.test.ets create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/module.json create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/base/element/string.json create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/base/media/icon.png create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/base/profile/main_pages.json create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/extra.html create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/icon.png create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/index.html create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/second.html create mode 100644 arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/webstorage.html create mode 100644 arkui/ace_ets_web_dev_two/signature/openharmony_sx.p7b diff --git a/arkui/BUILD.gn b/arkui/BUILD.gn index eb91b3627..2b9d8b7ed 100644 --- a/arkui/BUILD.gn +++ b/arkui/BUILD.gn @@ -25,6 +25,7 @@ group("arkui") { "ace_ets_test:ActsAceEtsTest", "ace_ets_third_test:ActsAceEtsThirdTest", "ace_ets_web_dev:ActsAceWebDevTest", + "ace_ets_web_dev_two:ActsAceWebDevTwoTest", "ace_ets_xcomponent:ActsAceXComponentEtsTest", "ace_js_attribute_api:ActsAceJsApiTest", "ace_napi_test:ActsAceNapiEtsTest", diff --git a/arkui/ace_ets_web_dev_two/AppScope/app.json b/arkui/ace_ets_web_dev_two/AppScope/app.json new file mode 100644 index 000000000..a76ab24e0 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/AppScope/app.json @@ -0,0 +1,21 @@ +{ + "app": { + "bundleName": "com.open.harmony.acewebtwotest", + "vendor": "huawei", + "versionCode": 1000000, + "versionName": "1.0.0", + "debug": false, + "icon": "$media:icon", + "label": "$string:app_name", + "description": "$string:description_application", + "distributedNotificationEnabled": true, + "keepAlive": true, + "singleUser": true, + "minAPIVersion": 9, + "targetAPIVersion": 9, + "car": { + "apiCompatibleVersion": 9, + "singleUser": false + } + } +} \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/AppScope/resources/base/element/string.json b/arkui/ace_ets_web_dev_two/AppScope/resources/base/element/string.json new file mode 100644 index 000000000..ee69f9a86 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string":[ + { + "name":"app_name", + "value":"ohosProject" + } + ] +} \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/AppScope/resources/base/media/app_icon.png b/arkui/ace_ets_web_dev_two/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..474a55588fd7216113dd42073aadf254d4dba023 GIT binary patch literal 15458 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 Y0jIQKqpXab7ytkO07*qoM6N<$f;yQ2zW@LL literal 0 HcmV?d00001 diff --git a/arkui/ace_ets_web_dev_two/BUILD.gn b/arkui/ace_ets_web_dev_two/BUILD.gn new file mode 100644 index 000000000..27fcae480 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/BUILD.gn @@ -0,0 +1,41 @@ +# 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("//test/xts/tools/build/suite.gni") + +ohos_js_hap_suite("ActsAceWebDevTwoTest") { + hap_profile = "entry/src/main/module.json" + js_build_mode = "debug" + deps = [ + ":ace_ets_web_dev_js_assets", + ":ace_ets_web_dev_resources", + ] + ets2abc = true + certificate_profile = "signature/openharmony_sx.p7b" + hap_name = "ActsAceWebDevTwoTest" +} + +ohos_app_scope("ace_ets_web_dev_app_profile") { + app_profile = "AppScope/app.json" + sources = [ "AppScope/resources" ] +} + +ohos_js_assets("ace_ets_web_dev_js_assets") { + source_dir = "entry/src/main/ets" +} + +ohos_resources("ace_ets_web_dev_resources") { + sources = [ "entry/src/main/resources" ] + deps = [ ":ace_ets_web_dev_app_profile" ] + hap_profile = "entry/src/main/module.json" +} diff --git a/arkui/ace_ets_web_dev_two/Test.json b/arkui/ace_ets_web_dev_two/Test.json new file mode 100644 index 000000000..f66e3d087 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/Test.json @@ -0,0 +1,18 @@ +{ + "description": "Configuration for hjunit demo Tests", + "driver": { + "type": "OHJSUnitTest", + "test-timeout": "600000", + "bundle-name": "com.open.harmony.acewebtwotest", + "module-name": "phone", + "shell-timeout": "600000", + "testcase-timeout": 70000 + }, + "kits": [{ + "test-file-name": [ + "ActsAceWebDevTwoTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }] +} \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/Application/AbilityStage.ts b/arkui/ace_ets_web_dev_two/entry/src/main/ets/Application/AbilityStage.ts new file mode 100644 index 000000000..e3fdadfeb --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/Application/AbilityStage.ts @@ -0,0 +1,9 @@ +import AbilityStage from "@ohos.application.AbilityStage" + +export default class MyAbilityStage extends AbilityStage { + onCreate() { + console.log("[Demo] MyAbilityStage onCreate") + globalThis.stageOnCreateRun = 1; + globalThis.stageContext = this.context; + } +} diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/MainAbility.ts b/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/MainAbility.ts new file mode 100644 index 000000000..59523bc6f --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/MainAbility.ts @@ -0,0 +1,37 @@ +import Ability from '@ohos.application.Ability' + +export default class MainAbility extends Ability { + onCreate(want,launchParam){ + // Ability is creating, initialize resources for this ability + console.log("[Demo] MainAbility onCreate") + globalThis.abilityWant = want; + } + + onDestroy() { + // Ability is destroying, release resources for this ability + console.log("[Demo] MainAbility onDestroy") + } + + onWindowStageCreate(windowStage) { + // Main window is created, set main page for this ability + console.log("[Demo] MainAbility onWindowStageCreate windowStage="+ windowStage) + globalThis.windowStage = windowStage + globalThis.abilityContext = this.context + windowStage.setUIContent(this.context, "MainAbility/pages/web", null) + } + + onWindowStageDestroy() { + //Main window is destroyed, release UI related resources + console.log("[Demo] MainAbility onWindowStageDestroy") + } + + onForeground() { + // Ability has brought to foreground + console.log("[Demo] MainAbility onForeground") + } + + onBackground() { + // Ability has back to background + console.log("[Demo] MainAbility onBackground") + } +}; 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 new file mode 100644 index 000000000..3d230c746 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/MainAbility/pages/web.ets @@ -0,0 +1,256 @@ +/* + * 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 AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'; +import { Hypium } from '@ohos/hypium'; +import testsuite from '../../test/List.test'; +import Utils from '../../test/Utils'; +import web_webview from '@ohos.web.webview'; + +let loadedUrl; +@Entry +@Component +struct Index { + controller:WebController = new WebController() + responseweb: WebResourceResponse = new WebResourceResponse() + @State str:string="emitStoreWebArchive" + @State text:string="" + @State textRatio:number=100 + @State zoomAccessValue:boolean=true + host: string = "www.spincast.org" + realm: string = "protected example" + username_password: string[] + origin: string="file:///" + 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; + } + } + } + private jsObj={ + test:(res)=>{ + Utils.emitEvent(res,102); + }, + toString:(str)=>{ + console.info("ets toString:"+String(str)); + }, + register:(res)=>{ + Utils.emitEvent(res,86); + return "web222" + } + } + aboutToAppear(){ + let abilityDelegator: any + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + let abilityDelegatorArguments: any + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + console.info('start run testcase!!!') + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite) + } + build(){ + Column(){ + Web({src:$rawfile('index.html'),controller:this.controller}) + .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 + }) + .onSearchResultReceive(ret=>{ + var searchResult = ret.activeMatchOrdinal.toString() + + ret.numberOfMatches.toString() + console.log("searchResult" + searchResult) + setTimeout(()=>{ + Utils.emitEvent(searchResult,426) + },3000) + }) + Row(){ + Button("web click").key('webcomponent').onClick(async ()=>{ + console.info("key==>"+this.str) + switch(this.str){ + case "emitStoreWebArchive":{ + let webAsyncController = new web_webview.WebAsyncController(this.controller) + webAsyncController.storeWebArchive("/data/storage/el2/base/",true,(filename) => { + if(filename != null) { + Utils.emitEvent(filename,400) + } + }) + break; + } + case "emitAllowGeolocation":{ + web_webview.GeolocationPermissions.allowGeolocation("file:///") + web_webview.GeolocationPermissions.getAccessibleGeolocation(this.origin, (error, result) => { + if (error) { + console.log('error:' + JSON.stringify(error)); + this.text = this.origin + ",error ," + JSON.stringify(error); + return; + } + this.text = this.origin + ", result: " + result; + Utils.emitEvent(this.text,402) + }) + break; + } + case "emitDeleteGeolocation":{ + web_webview.GeolocationPermissions.deleteGeolocation("file:///") + web_webview.GeolocationPermissions.getStoredGeolocation((error,origins) => { + if (error) { + console.log('error:' + JSON.stringify(error)); + this.text = origins + ",error ," + JSON.stringify(error); + return; + } + this.text = origins.join(); + Utils.emitEvent(this.text,404) + }) + break; + } + case "emitDeleteAllGeolocation":{ + web_webview.GeolocationPermissions.allowGeolocation("file:///") + web_webview.GeolocationPermissions.deleteAllGeolocation() + web_webview.GeolocationPermissions.getStoredGeolocation((error,origins) => { + if (error) { + console.log('error:' + JSON.stringify(error)); + this.text = origins + ",error ," + JSON.stringify(error); + return; + } + this.text = origins.join(); + Utils.emitEvent(this.text,406) + }) + break; + } + case "emitIsCookieAllowed":{ + web_webview.WebCookieManager.putAcceptCookieEnabled(false); + setTimeout(()=>{ + Utils.emitEvent(web_webview.WebCookieManager.isCookieAllowed(),408) + },3000) + break; + } + case "emitSaveCookieAsync":{ + web_webview.WebCookieManager.saveCookieAsync(function(result){ + Utils.emitEvent(result,410) + }) + break; + } + case "emitIsThirdPartyCookieAllowed":{ + web_webview.WebCookieManager.putAcceptThirdPartyCookieEnabled(false); + setTimeout(()=>{ + var result = web_webview.WebCookieManager.isThirdPartyCookieAllowed(); + console.log(result.toString()); + Utils.emitEvent(web_webview.WebCookieManager.isThirdPartyCookieAllowed(),412) + },3000) + break; + } + case "emitExistCookie":{ + this.controller.getCookieManager().deleteEntireCookie(); + setTimeout(()=>{ + var result = web_webview.WebCookieManager.existCookie(); + console.log(result.toString()); + Utils.emitEvent(result,414) + },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(()=>{ + this.controller.loadData({ + data: "index", + mimeType: "text/html", + encoding: "UTF-8" + }) + },3000) + setTimeout(()=>{ + this.text = this.controller.getTitle(); + Utils.emitEvent(this.text,424) + },4000) + break ; + } + case "emitZoomAccess":{ + this.zoomAccessValue = false + this.controller.refresh() + var origin = this.controller.getPageHeight() + var zoomInCalled = false + setTimeout(()=>{ + this.controller.zoomIn() + if (this.controller.getPageHeight() > origin) { + zoomInCalled = true + } + console.log("final" + this.controller.getPageHeight()) + Utils.emitEvent(zoomInCalled,428); + },3000); + break ; + } + case "emitSaveHttpAuthCredentials":{ + web_webview.WebDataBase.saveHttpAuthCredentials(this.host, this.realm, "Stromgol", "Laroche"); + setTimeout(()=>{ + let result = web_webview.WebDataBase.existHttpAuthCredentials(); + Utils.emitEvent(result,442) + },3000) + break; + } + case "emitGetHttpAuthCredentials":{ + this.username_password = web_webview.WebDataBase.getHttpAuthCredentials(this.host, this.realm); + setTimeout(()=>{ + let result = this.username_password[0]; + Utils.emitEvent(result,444) + },3000) + break; + } + case "emitDeleteHttpAuthCredentials":{ + web_webview.WebDataBase.deleteHttpAuthCredentials(); + setTimeout(()=>{ + let result = web_webview.WebDataBase.existHttpAuthCredentials(); + Utils.emitEvent(result,446) + },3000) + break; + } + case "emitSearchAllAsync":{ + this.controller.loadUrl({url:"file:///data/storage/el1/bundle/phone/resources/rawfile/index.html"}) + setTimeout(()=>{ + this.controller.searchAllAsync("首页"); + },3000) + break ; + } + default: + console.info("can not match case") + } + }) + } + } + } +} diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts b/arkui/ace_ets_web_dev_two/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts new file mode 100644 index 000000000..a4ee2f165 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts @@ -0,0 +1,78 @@ +/* + * 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. + */ +import TestRunner from '@ohos.application.testRunner' +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' + +var abilityDelegator = undefined +var abilityDelegatorArguments = undefined + +function translateParamsToString(parameters) { + const keySet = new Set([ + '-s class', '-s notClass', '-s suite', '-s it', + '-s level', '-s testType', '-s size', '-s timeout', + '-s dryRun' + ]) + let targetParams = ''; + for (const key in parameters) { + if (keySet.has(key)) { + targetParams = `${targetParams} ${key} ${parameters[key]}` + } + } + return targetParams.trim() +} + +async function onAbilityCreateCallback() { + console.log("onAbilityCreateCallback"); +} + +async function addAbilityMonitorCallback(err: any) { + console.info("addAbilityMonitorCallback : " + JSON.stringify(err)) +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + console.info("OpenHarmonyTestRunner OnPrepare ") + } + + async onRun() { + console.log('OpenHarmonyTestRunner onRun run') + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + var testAbilityName = abilityDelegatorArguments.bundleName + '.MainAbility' + let lMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) + var cmd = 'aa start -d 0 -a com.example.myapplication.MainAbility' + ' -b ' + abilityDelegatorArguments.bundleName + cmd += ' '+translateParamsToString(abilityDelegatorArguments.parameters) + var debug = abilityDelegatorArguments.parameters["-D"] + if (debug == 'true') + { + cmd += ' -D' + } + console.info('cmd : '+cmd) + abilityDelegator.executeShellCommand(cmd, + (err: any, d: any) => { + console.info('executeShellCommand : err : ' + JSON.stringify(err)); + console.info('executeShellCommand : data : ' + d.stdResult); + console.info('executeShellCommand : data : ' + d.exitCode); + }) + console.info('OpenHarmonyTestRunner onRun end') + } +}; \ 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 new file mode 100644 index 000000000..079023dd2 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/List.test.ets @@ -0,0 +1,19 @@ +/* + * 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 webJsunit from './WebJsunit.test' + +export default function testsuite() { + webJsunit() +} \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/Utils.ets b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/Utils.ets new file mode 100644 index 000000000..1a90ba6ae --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/Utils.ets @@ -0,0 +1,135 @@ +/* + * 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. + */ + +import events_emitter from '@ohos.events.emitter'; +import { expect } from "@ohos/hypium"; +export default class Utils { + static sleep(time){ + return new Promise((resolve,reject)=>{ + setTimeout(()=>{ + resolve("ok") + },time) + }).then(()=>{ + console.info(`sleep ${time} over...`) + }) + } + static registerEvent(testCaseName,expectedValue,eventId,done){ + console.info(`[${testCaseName}] START`); + try{ + let callBack=(backData)=>{ + console.info(`${testCaseName} get result is:`+JSON.stringify(backData)); + expect(backData.data.ACTION).assertEqual(expectedValue); + console.info(`[${testCaseName}] END`); + done() + } + let innerEvent = { + eventId:eventId, + priority:events_emitter.EventPriority.LOW + } + events_emitter.on(innerEvent,callBack) + }catch(err){ + console.info(`[${testCaseName}] err:`+JSON.stringify(err)); + } + } + static emitEvent(actualValue,eventId){ + try { + let backData = { + data: { + "ACTION": actualValue + } + } + let backEvent = { + eventId:eventId, + priority:events_emitter.EventPriority.LOW + } + console.info("webFlag start to emit action state"); + events_emitter.emit(backEvent, backData); + } catch (err) { + console.info("webFlag emit action state err: " + JSON.stringify(err)); + } + } + static registerEventTwo(testCaseName,eventId,done){ + console.info(`[${testCaseName}] START`); + try{ + let callBack=(backData)=>{ + console.info(`${testCaseName} get result is:`+JSON.stringify(backData)); + expect(backData.data.actualValue).assertLarger(backData.data.expectedValue-100); + expect(backData.data.actualValue).assertLess(backData.data.expectedValue-(-100)); + console.info(`[${testCaseName}] END`); + done() + } + let innerEvent = { + eventId:eventId, + priority:events_emitter.EventPriority.LOW + } + events_emitter.on(innerEvent,callBack) + }catch(err){ + console.info(`[${testCaseName}] err:`+JSON.stringify(err)); + } + } + static emitEventTwo(expectedValue,actualValue,eventId){ + try { + let backData = { + data: { + "expectedValue":expectedValue, + "actualValue":actualValue + } + } + let backEvent = { + eventId:eventId, + priority:events_emitter.EventPriority.LOW + } + console.info("webFlag start to emit action state"); + events_emitter.emit(backEvent, backData); + } catch (err) { + console.info("webFlag emit action state err: " + JSON.stringify(err)); + } + } + static registerContainEvent(testCaseName,expectedValue,eventId,done){ + console.info(`[${testCaseName}] START`); + try{ + let callBack=(backData)=>{ + console.info(`${testCaseName} get result is:`+JSON.stringify(backData)); + expect(backData.data.ACTION).assertContain(expectedValue); + console.info(`[${testCaseName}] END`); + done() + } + let innerEvent = { + eventId:eventId, + priority:events_emitter.EventPriority.LOW + } + events_emitter.on(innerEvent,callBack) + }catch(err){ + console.info(`[${testCaseName}] err:`+JSON.stringify(err)); + } + } + static commitKey(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)); + } + } +} 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 new file mode 100644 index 000000000..deea6fda9 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/ets/test/WebJsunit.test.ets @@ -0,0 +1,208 @@ +/* + * 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 } from "@ohos/hypium"; +import events_emitter from '@ohos.events.emitter'; +import Utils from './Utils.ets'; +let emitKey = "emitUserAgent"; +export default function webJsunit() { + describe('ActsAceWebDevTest', function () { + 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_066 + *tc.name storeWebArchive + *tc.desic Save current page + */ + it('storeWebArchive',0,async function(done){ + emitKey="emitAllowGeolocation"; + Utils.registerContainEvent("storeWebArchive","/data/storage/el2/base/",400,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_067 + *tc.name allowGeolocation + *tc.desic allow specific url to access the geolocation + */ + it('allowGeolocation',0,async function(done){ + emitKey="emitDeleteGeolocation"; + Utils.registerEvent("allowGeolocation","file:///, result: true",402,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_068 + *tc.name deleteGeolocation + *tc.desic delete specific restored geolocation + */ + it('deletGeolocation',0,async function(done){ + emitKey="emitDeleteAllGeolocation"; + Utils.registerEvent("deletGeolocation","",404,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_069 + *tc.name deletAllGeolocation + *tc.desic delete all restored geolocation + */ + it('deletAllGeolocation',0,async function(done){ + emitKey="emitIsCookieAllowed"; + Utils.registerEvent("deletAllGeolocation","",406,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_070 + *tc.name isCookieAllowed + *tc.desic return whether the cookie is allowed + */ + it('isCookieAllowed',0,async function(done){ + emitKey="emitSaveCookieAsync"; + Utils.registerEvent("isCookieAllowed",false,408,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_071 + *tc.name saveCookieAsync + *tc.desic return whether the cookie is allowed + */ + it('saveCookieAsync',0,async function(done){ + emitKey="emitIsThirdPartyCookieAllowed"; + Utils.registerEvent("saveCookieAsync",true,410,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_072 + *tc.name isThirdPartyCookieAllowed + *tc.desic return whether the third party cookie is allowed + */ + it('isThirdPartyCookieAllowed',0,async function(done){ + emitKey="emitExistCookie"; + Utils.registerEvent("isThirdPartyCookieAllowed",false,412,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_073 + *tc.name existCookie + *tc.desic return whether there exits cookie + */ + it('existCookie',0,async function(done){ + emitKey="emitOnConsole"; + Utils.registerEvent("existCookie",false,414,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); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_078 + *tc.name loadData + *tc.desic load specific strings + */ + it('loadData',0,async function(done){ + emitKey="emitZoomAccess"; + Utils.registerEvent("loadData","index",424,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_080 + *tc.name zoomAccess + *tc.desic set whether it is allowed to zoom + */ + it('zoomAccess',0,async function(done){ + emitKey="emitSaveHttpAuthCredentials"; + Utils.registerEvent("zoomAccess",false,428,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_087 + *tc.name saveHttpAuthCredentials + *tc.desic save credentials + */ + it('saveHttpAuthCredentials',0,async function(done){ + emitKey="emitGetHttpAuthCredentials"; + Utils.registerEvent("saveHttpAuthCredentials",true,442,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_088 + *tc.name getHttpAuthCredentials + *tc.desic delete credentials + */ + it('getHttpAuthCredentials',0,async function(done){ + emitKey="emitDeleteHttpAuthCredentials"; + Utils.registerEvent("getHttpAuthCredentials","Stromgol",444,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_089 + *tc.name deleteHttpAuthCredentials + *tc.desic delete credentials + */ + it('deleteHttpAuthCredentials',0,async function(done){ + emitKey="emitSearchAllAsync"; + Utils.registerEvent("deleteHttpAuthCredentials",false,446,done); + sendEventByKey('webcomponent',10,''); + }) + /* + *tc.number SUB_ACE_BASIC_ETS_API_079 + *tc.name searchAllAsync + *tc.desic search specific words + */ + it('searchAllAsync',0,async function(done){ + emitKey="emitSearchAllAsync"; + Utils.registerEvent("searchAllAsync","01",426,done); + sendEventByKey('webcomponent',10,''); + }) + }) +} diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/module.json b/arkui/ace_ets_web_dev_two/entry/src/main/module.json new file mode 100644 index 000000000..1caeca096 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/module.json @@ -0,0 +1,41 @@ +{ + "module": { + "name": "phone", + "type": "entry", + "srcEntrance": "./ets/Application/AbilityStage.ts", + "description": "$string:phone_entry_dsc", + "mainElement": "MainAbility", + "deviceTypes": [ + "phone" + ], + "deliveryWithInstall": true, + "installationFree": false, + "uiSyntax": "ets", + "pages": "$profile:main_pages", + "abilities": [{ + "name": "com.example.myapplication.MainAbility", + "srcEntrance": "./ets/MainAbility/MainAbility.ts", + "description": "$string:phone_entry_main", + "icon": "$media:icon", + "label": "$string:entry_label", + "visible": true, + "orientation": "portrait", + "skills": [{ + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + }] + }], + "requestPermissions": [ + { + "name": "ohos.permission.LOCATION" + }, + { + "name": "ohos.permission.INTERNET" + } + ] + } +} diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/element/string.json b/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/element/string.json new file mode 100644 index 000000000..2977b612e --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/element/string.json @@ -0,0 +1,32 @@ +{ + "string": [ + { + "name": "phone_entry_dsc", + "value": "i am an entry for phone" + }, + { + "name": "phone_entry_main", + "value": "the phone entry ability" + }, + { + "name": "entry_label", + "value": "ActsContextTest" + }, + { + "name": "form_description", + "value": "my form" + }, + { + "name": "serviceability_description", + "value": "my whether" + }, + { + "name": "description_application", + "value": "demo for test" + }, + { + "name": "app_name", + "value": "Demo" + } + ] +} diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/media/icon.png b/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..474a55588fd7216113dd42073aadf254d4dba023 GIT binary patch literal 15458 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 Y0jIQKqpXab7ytkO07*qoM6N<$f;yQ2zW@LL literal 0 HcmV?d00001 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 new file mode 100644 index 000000000..accbf2724 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "MainAbility/pages/web" + ] +} \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/extra.html b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/extra.html new file mode 100644 index 000000000..cefc32629 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/extra.html @@ -0,0 +1,7 @@ + + + +
+

This is a link

+ + \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/icon.png b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..474a55588fd7216113dd42073aadf254d4dba023 GIT binary patch literal 15458 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 Y0jIQKqpXab7ytkO07*qoM6N<$f;yQ2zW@LL literal 0 HcmV?d00001 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 new file mode 100644 index 000000000..bd56a8209 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/index.html @@ -0,0 +1,70 @@ + + + + + + + index + + + +
首页
+
+
打开rawfile文件 + icon + + + diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/second.html b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/second.html new file mode 100644 index 000000000..3017554b2 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/second.html @@ -0,0 +1,12 @@ + + + + + + + second + + +
second pages
+ + \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/webstorage.html b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/webstorage.html new file mode 100644 index 000000000..397ebc411 --- /dev/null +++ b/arkui/ace_ets_web_dev_two/entry/src/main/resources/rawfile/webstorage.html @@ -0,0 +1,39 @@ + + + + + + + + + +
状态信息
+ + + \ No newline at end of file diff --git a/arkui/ace_ets_web_dev_two/signature/openharmony_sx.p7b b/arkui/ace_ets_web_dev_two/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..7ffcdc78527c5c1aa24520ab7e913c5f47c703f0 GIT binary patch literal 3842 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 mCl*fp;NAt}BL{ZRsww--|AHBR