diff --git a/notification/ans_standard/BUILD.gn b/notification/ans_standard/BUILD.gn
index ec2e0717c2d967b9315979ba304e770b5fe32e3b..9e2daff37ec6501406a30f701b575074ac7775f9 100644
--- a/notification/ans_standard/BUILD.gn
+++ b/notification/ans_standard/BUILD.gn
@@ -19,6 +19,7 @@ group("ans_standard") {
"actsNotificationDistributedTest:ActsNotificationDistributedTest",
"actsNotificationManagerSlotTest:ActsNotificationManagerSlotTest",
"actsNotificationPublishTest:ActsNotificationPublishTest",
+ "actsNotificationRequestTest:ActsNotificationRequestTest",
"actsNotificationSecondaryDirectory:ActsNotificationSecondaryDirectory",
"actsNotificationShowTest:ActsNotificationShowTest",
"actsNotificationSlotTest:ActsNotificationSlotTest",
diff --git a/notification/ans_standard/actsNotificationRequestTest/BUILD.gn b/notification/ans_standard/actsNotificationRequestTest/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..50d85a7836eb971943970576eb32e1223b2ad298
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/BUILD.gn
@@ -0,0 +1,34 @@
+# 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("//test/xts/tools/build/suite.gni")
+
+ohos_js_hap_suite("ActsNotificationRequestTest") {
+ hap_profile = "./src/main/config.json"
+ deps = [
+ ":hjs_demo_js_assets",
+ ":hjs_demo_resources",
+ ]
+ certificate_profile = "./signature/openharmony_sx.p7b"
+ hap_name = "ActsNotificationRequestTest"
+ subsystem_name = "notification"
+ part_name = "distributed_notification_service"
+}
+ohos_js_assets("hjs_demo_js_assets") {
+ js2abc = true
+ hap_profile = "./src/main/config.json"
+ source_dir = "./src/main/js"
+}
+ohos_resources("hjs_demo_resources") {
+ sources = [ "./src/main/resources" ]
+ hap_profile = "./src/main/config.json"
+}
diff --git a/notification/ans_standard/actsNotificationRequestTest/Test.json b/notification/ans_standard/actsNotificationRequestTest/Test.json
new file mode 100644
index 0000000000000000000000000000000000000000..010b5703344c826cc1c3ebf03ce5af2110be8415
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/Test.json
@@ -0,0 +1,19 @@
+{
+ "description": "Configuration for hjunit demo Tests",
+ "driver": {
+ "type": "OHJSUnitTest",
+ "test-timeout": "180000",
+ "shell-timeout": "180000",
+ "bundle-name": "com.example.actsnotificationrequest",
+ "package-name": "com.example.actsnotificationrequest"
+ },
+ "kits": [
+ {
+ "test-file-name": [
+ "ActsNotificationRequestTest.hap"
+ ],
+ "type": "AppInstallKit",
+ "cleanup-apps": true
+ }
+ ]
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/signature/openharmony_sx.p7b b/notification/ans_standard/actsNotificationRequestTest/signature/openharmony_sx.p7b
new file mode 100644
index 0000000000000000000000000000000000000000..e573da3beeae2088dabe425fdd31a5b2d99a6570
Binary files /dev/null and b/notification/ans_standard/actsNotificationRequestTest/signature/openharmony_sx.p7b differ
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/config.json b/notification/ans_standard/actsNotificationRequestTest/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..63cf86d31ff12cb35e304e87b63afbaedc93cddd
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/config.json
@@ -0,0 +1,96 @@
+{
+ "app": {
+ "bundleName": "com.example.actsnotificationrequest",
+ "vendor": "example",
+ "version": {
+ "code": 1,
+ "name": "1.0"
+ },
+ "apiVersion": {
+ "compatible": 5,
+ "target": 5,
+ "releaseType": "Beta1"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.example.actsnotificationrequest",
+ "name": ".entry",
+ "deviceType": [
+ "tablet",
+ "default",
+ "phone"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry",
+ "moduleType": "entry"
+ },
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "orientation": "unspecified",
+ "formsEnabled": false,
+ "name": ".MainAbility",
+ "srcLanguage": "js",
+ "srcPath": "MainAbility",
+ "icon": "$media:icon",
+ "description": "$string:MainAbility_desc",
+ "label": "$string:MainAbility_label",
+ "type": "page",
+ "visible": true,
+ "launchType": "standard"
+ },
+ {
+ "orientation": "unspecified",
+ "formsEnabled": false,
+ "name": ".TestAbility",
+ "srcLanguage": "js",
+ "srcPath": "TestAbility",
+ "icon": "$media:icon",
+ "description": "$string:TestAbility_desc",
+ "label": "$string:TestAbility_label",
+ "type": "page",
+ "visible": true,
+ "launchType": "standard"
+ }
+ ],
+ "js": [
+ {
+ "pages": [
+ "pages/index/index"
+ ],
+ "name": "default",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ },
+ {
+ "pages": [
+ "pages/index/index"
+ ],
+ "name": ".TestAbility",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ],
+ "testRunner": {
+ "name": "OpenHarmonyTestRunner",
+ "srcPath": "TestRunner"
+ },
+ "mainAbility": ".MainAbility",
+ "srcPath": ""
+ }
+}
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/app.js b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..5b800cb12b0028e95ecb52e5684d1d336ae51e1c
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/app.js
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+export default {
+ onCreate() {
+ console.info("============== AceApplication onCreate ==============");
+ },
+ onDestroy() {
+ console.info('=============AceApplication onDestroy=============');
+ }
+};
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/i18n/en-US.json b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/i18n/en-US.json
@@ -0,0 +1,6 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World"
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/i18n/zh-CN.json b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/i18n/zh-CN.json
@@ -0,0 +1,6 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界"
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.css b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..b6c4207e3d98d227f135ee57bfa49b98cfb93faf
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.css
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+.container {
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.title {
+ font-size: 100px;
+}
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.hml b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..153d713d137f27cf989ffbaee2e886f92898056e
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.hml
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+
+
+
+ Hello, World!
+ {{ $t('strings.hello') }} {{ title }}
+
+
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.js b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..329d972406d066b00b64da8a3d363b64f31367a9
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/MainAbility/pages/index/index.js
@@ -0,0 +1,33 @@
+/*
+ * 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 file from '@system.file'
+
+const injectRef = Object.getPrototypeOf(global) || global
+injectRef.regeneratorRuntime = require('@babel/runtime/regenerator')
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = this.$t('strings.world');
+ },
+ onShow() {
+ console.info('onShow finish')
+ },
+ onReady() {
+ },
+}
+
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/app.js b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..d5ee271df29e516d1c8929054283e5f2bf5c981c
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/app.js
@@ -0,0 +1,31 @@
+/*
+ * 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 AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
+import { Hypium } from '@ohos/hypium'
+import testsuite from '../test/List.test'
+
+export default {
+ onCreate() {
+ console.info('TestApplication onCreate')
+ var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
+ var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
+ console.info('start run testcase!!!')
+ Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
+ },
+ onDestroy() {
+ console.info("TestApplication onDestroy");
+ }
+};
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/i18n/en-US.json b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/i18n/en-US.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/i18n/zh-CN.json b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/i18n/zh-CN.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.css b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..b21c92c6290ea747bd891e2ab673721afc5521ed
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.css
@@ -0,0 +1,30 @@
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+@media screen and (device-type: phone) and (orientation: landscape) {
+ .title {
+ font-size: 60px;
+ }
+}
+
+@media screen and (device-type: tablet) and (orientation: landscape) {
+ .title {
+ font-size: 100px;
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.hml b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.js b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d94b75c085fa1c16a0b2721609b18c57a7295476
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestAbility/pages/index/index.js
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = this.$t('strings.world');
+ }
+}
+
+
+
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
new file mode 100644
index 0000000000000000000000000000000000000000..b9e78ce7cf73f1ade6ba52a408a44e33f5430f0d
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js
@@ -0,0 +1,59 @@
+/*
+ * 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 AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
+
+function translateParamsToString(parameters) {
+ const keySet = new Set([
+ '-s class', '-s notClass', '-s suite', '-s itName',
+ '-s level', '-s testType', '-s size', '-s timeout',
+ '-s package', '-s dryRun'
+ ])
+ let targetParams = '';
+ for (const key in parameters) {
+ if (keySet.has(key)) {
+ targetParams += ' ' + key + ' ' + parameters[key]
+ }
+ }
+ return targetParams.trim()
+}
+
+ export default {
+ onPrepare() {
+ console.info('OpenHarmonyTestRunner OnPrepare')
+ },
+ onRun() {
+ console.log('OpenHarmonyTestRunner onRun run')
+ var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
+ var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
+
+ var testAbilityName = abilityDelegatorArguments.parameters['-p'] + '.TestAbility'
+
+ var cmd = 'aa start -d 0 -a ' + testAbilityName + ' -b ' + abilityDelegatorArguments.bundleName
+ cmd += ' ' + translateParamsToString(abilityDelegatorArguments.parameters)
+ var debug = abilityDelegatorArguments.parameters["-D"]
+ console.info('debug value : '+debug)
+ if (debug == 'true')
+ {
+ cmd += ' -D'
+ }
+ console.info('cmd : '+cmd)
+ abilityDelegator.executeShellCommand(cmd, (err, data) => {
+ console.info('executeShellCommand : err : ' + JSON.stringify(err));
+ console.info('executeShellCommand : data : ' + data.stdResult);
+ console.info('executeShellCommand : data : ' + data.exitCode);
+ })
+ }
+};
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/test/ActsNotificationRequestTest.js b/notification/ans_standard/actsNotificationRequestTest/src/main/js/test/ActsNotificationRequestTest.js
new file mode 100644
index 0000000000000000000000000000000000000000..9a0b570dac14d8fd114c313524cea1534736f1ae
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/test/ActsNotificationRequestTest.js
@@ -0,0 +1,124 @@
+/*
+* 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 notification from '@ohos.notification'
+import {UiComponent,UiDriver,Component,Driver,UiWindow,ON,BY,MatchPattern,DisplayRotation,ResizeDirection,WindowMode,PointerMatrix} from '@ohos.UiTest'
+import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'
+
+export default function ActsNotificationRequestTest() {
+ describe('SUB_NOTIFICATION_ANS_REQUEST_TEST', function () {
+ let TAG = 'SUB_NOTIFICATION_ANS_REQUEST_TEST ===>'
+ console.info(TAG + 'SUB_NOTIFICATION_ANS_REQUEST_TEST START')
+
+ function sleep(ms) {
+ return new Promise(resolve => setTimeout(resolve, ms));
+ }
+
+ async function driveFn() {
+ console.info(`${TAG} come in driveFn`)
+ let driver = await UiDriver.create()
+ console.info(`${TAG} driver is ${JSON.stringify(driver)}`)
+ await sleep(2000)
+ console.info(`${TAG} UiDriver start`)
+ let button = await driver.findComponent(BY.text('允许'))
+ console.info(`${TAG} button is ${JSON.stringify(button)}`)
+ await sleep(5000)
+ await button.click()
+ }
+
+ beforeAll(async function (done) {
+ console.info(`${TAG} come in beforeAll`)
+ notification.requestEnableNotification(async (err) => {
+ console.info(`${TAG} come in requestEnableNotification`)
+ if (err.code) {
+ console.info(`${TAG} requestEnableNotification err: ${err}`)
+ expect(false).assertTrue()
+ done()
+ } else {
+ console.info(`${TAG} requestEnableNotification success`)
+ }
+ })
+ console.info(`${TAG} requestEnableNotification sleep START`)
+ await sleep(2000)
+ console.info(`${TAG} requestEnableNotification sleep END`)
+ await driveFn()
+ done()
+ })
+
+ /*
+ * @tc.number : SUB_NOTIFICATION_ANS_REQUEST_TEST_0100
+ * @tc.name : function publish(request: NotificationRequest, callback: AsyncCallback): void
+ * @tc.desc : publish a notification after requestEnableNotification
+ */
+ it('SUB_NOTIFICATION_ANS_REQUEST_TEST_0100', 0, async function (done) {
+ console.info(`${TAG} SUB_NOTIFICATION_ANS_REQUEST_TEST_0100 START`)
+ let notificationRequest = {
+ id: 1,
+ content: {
+ contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
+ normal: {
+ title: "test_title",
+ text: "test_text",
+ additionalText: "test_additionalText"
+ }
+ }
+ }
+ notification.publish(notificationRequest, (err, data) => {
+ if (err.code) {
+ console.info(`${TAG} notification publish AsyncCallback err: ${err.code}`)
+ expect(false).assertTrue()
+ done()
+ } else {
+ console.log(`${TAG} notification publish AsyncCallback success: ${data}`)
+ expect(true).assertTrue()
+ done()
+ }
+ })
+ console.info(`${TAG} SUB_NOTIFICATION_ANS_REQUEST_TEST_0100 END`)
+ })
+
+ /*
+ * @tc.number : SUB_NOTIFICATION_ANS_REQUEST_TEST_0200
+ * @tc.name : function publish(request: NotificationRequest): Promise
+ * @tc.desc : publish a notification after requestEnableNotification
+ */
+ it('SUB_NOTIFICATION_ANS_REQUEST_TEST_0200', 0, async function (done) {
+ console.info(`${TAG} SUB_NOTIFICATION_ANS_REQUEST_TEST_0200 START`)
+ let notificationRequest = {
+ id: 1,
+ content: {
+ contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
+ normal: {
+ title: "test_title",
+ text: "test_text",
+ additionalText: "test_additionalText"
+ }
+ }
+ }
+ notification.publish(notificationRequest).then((data) => {
+ console.log(`${TAG} notification publish AsyncCallback success: ${data}`)
+ expect(true).assertTrue()
+ done()
+ }).catch((err) => {
+ console.info(`${TAG} notification publish AsyncCallback err: ${err.code}`)
+ expect(false).assertTrue()
+ done()
+ })
+ console.info(`${TAG} SUB_NOTIFICATION_ANS_REQUEST_TEST_0200 END`)
+ })
+ console.info(TAG + 'SUB_NOTIFICATION_ANS_REQUEST_TEST END')
+ })
+
+}
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/js/test/List.test.js b/notification/ans_standard/actsNotificationRequestTest/src/main/js/test/List.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..9306556acff10398c3c0cfd271146ce68c985d1c
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/js/test/List.test.js
@@ -0,0 +1,19 @@
+/*
+ * 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 ActsNotificationRequestTest from './ActsNotificationRequestTest.js'
+
+export default function testsuite() {
+ ActsNotificationRequestTest()
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/resources/base/element/string.json b/notification/ans_standard/actsNotificationRequestTest/src/main/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..054c46cf82e60c39de9ec845737cdda67a89676d
--- /dev/null
+++ b/notification/ans_standard/actsNotificationRequestTest/src/main/resources/base/element/string.json
@@ -0,0 +1,28 @@
+{
+ "string": [
+ {
+ "name": "app_name",
+ "value": "JsHelloWorld"
+ },
+ {
+ "name": "mainability_description",
+ "value": "hap sample empty page"
+ },
+ {
+ "name": "MainAbility_desc",
+ "value": "description"
+ },
+ {
+ "name": "MainAbility_label",
+ "value": "label"
+ },
+ {
+ "name": "TestAbility_desc",
+ "value": "description"
+ },
+ {
+ "name": "TestAbility_label",
+ "value": "label"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/notification/ans_standard/actsNotificationRequestTest/src/main/resources/base/media/icon.png b/notification/ans_standard/actsNotificationRequestTest/src/main/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/notification/ans_standard/actsNotificationRequestTest/src/main/resources/base/media/icon.png differ