提交 e6f38d2d 编写于 作者: M Mupceet

add accessibility config permission case

Signed-off-by: NMupceet <laiguizhong@huawei.com>
上级 15e7512b
...@@ -18,6 +18,8 @@ group("barrierfree") { ...@@ -18,6 +18,8 @@ group("barrierfree") {
if (is_standard_system) { if (is_standard_system) {
deps = [ deps = [
"accessibilityconfig:ActsAccessibilityConfigTest", "accessibilityconfig:ActsAccessibilityConfigTest",
"accessibilityconfigreqwritepermission:ActsAccessibilityConfigReqWritePermissionTest",
"accessibilityconfigreqreadpermission:ActsAccessibilityConfigReqReadPermissionTest",
"accessibilityelement:ActsAccessibilityElementTest", "accessibilityelement:ActsAccessibilityElementTest",
"accessibilityevent:ActsAccessibilityEventTest", "accessibilityevent:ActsAccessibilityEventTest",
"accessibilityextension:ActsAccessibilityExtensionTest", "accessibilityextension:ActsAccessibilityExtensionTest",
......
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
}, },
{ {
"type": "ShellKit", "type": "ShellKit",
"run-command": [
"power-shell setmode 602"
],
"teardown-command":[ "teardown-command":[
"bm uninstall -n com.example.accessibilityconfig" "bm uninstall -n com.example.accessibilityconfig"
] ]
......
...@@ -28,6 +28,16 @@ ...@@ -28,6 +28,16 @@
"entity.system.home" "entity.system.home"
] ]
}] }]
}] }],
"requestPermissions": [{
"name": "ohos.permission.READ_ACCESSIBILITY_CONFIG",
"reason": "need use ohos.permission.READ_ACCESSIBILITY_CONFIG"
},
{
"name": "ohos.permission.WRITE_ACCESSIBILITY_CONFIG",
"reason": "need use ohos.permission.WRITE_ACCESSIBILITY_CONFIG"
}
]
} }
} }
\ No newline at end of file
{
"app": {
"bundleName": "com.example.accessibilityconfigreqreadpermission",
"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
{
"string": [
{
"name": "app_name",
"value": "ohosProject"
},
{
"name": "mainability_description",
"value": "ETS_Phone_Empty Stage Ability"
}
]
}
\ No newline at end of file
# 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("ActsAccessibilityConfigReqReadPermissionTest") {
hap_profile = "entry/src/main/module.json"
deps = [
":accessibilityconfigreqreadpermission_js_assets",
":accessibilityconfigreqreadpermission_resources",
]
ets2abc = true
certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsAccessibilityConfigReqReadPermissionTest"
part_name = "accessibility"
subsystem_name = "barrierfree"
}
ohos_app_scope("accessibilityconfigreqreadpermission_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("accessibilityconfigreqreadpermission_js_assets") {
source_dir = "entry/src/main/ets"
}
ohos_resources("accessibilityconfigreqreadpermission_resources") {
sources = [ "entry/src/main/resources" ]
deps = [ ":accessibilityconfigreqreadpermission_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
{
"description": "Configuration for hjunit demo Tests",
"driver": {
"type": "OHJSUnitTest",
"test-timeout": "240000",
"bundle-name": "com.example.accessibilityconfigreqreadpermission",
"module-name": "phone",
"shell-timeout": "600000",
"testcase-timeout": 70000
},
"kits": [
{
"test-file-name": [
"ActsAccessibilityConfigReqReadPermissionTest.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
},
{
"type": "ShellKit",
"run-command": [
"power-shell setmode 602",
"param set persist.ace.testmode.enabled 1"
],
"teardown-command":[
"bm uninstall -n com.example.accessibilityconfigreqreadpermission"
]
}
]
}
\ No newline at end of file
import AbilityStage from "@ohos.application.AbilityStage"
export default class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("[Demo] MyAbilityStage onCreate")
}
}
/*
* 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 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.abilityStorage = this.storage
globalThis.abilityContext = this.context
windowStage.setUIContent(this.context, "MainAbility/pages/index/index", 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")
}
};
\ No newline at end of file
/*
* 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 router from '@ohos.router';
@Entry
@Component
struct Index {
@State message: string = 'request read permission for configuration';
aboutToAppear(){
console.info("start run testcase!!!!");
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
/*
* 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 Ability from '@ohos.application.Ability'
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from '@ohos/hypium'
import testsuite from '../test/List.test'
export default class TestAbility extends Ability {
onCreate(want, launchParam) {
console.log('TestAbility onCreate')
var abilityDelegator: any
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var abilityDelegatorArguments: any
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
console.info('start run testcase!!!')
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
}
onDestroy() {
console.log('TestAbility onDestroy')
}
onWindowStageCreate(windowStage) {
console.log('TestAbility onWindowStageCreate')
windowStage.setUIContent(this.context, 'TestAbility/pages/index', null)
globalThis.abilityContext = this.context;
}
onWindowStageDestroy() {
console.log('TestAbility onWindowStageDestroy')
}
onForeground() {
console.log('TestAbility onForeground')
}
onBackground() {
console.log('TestAbility onBackground')
}
};
\ No newline at end of file
/*
* 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 router from '@ohos.router';
@Entry
@Component
struct Index {
aboutToAppear() {
console.info('TestAbility index aboutToAppear')
}
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(20)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.width('35%')
.height('5%')
.onClick(()=>{
})
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
/*
* 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'
])
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 + '.TestAbility'
let lMonitor = {
abilityName: testAbilityName,
onAbilityCreate: onAbilityCreateCallback,
};
abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback)
var cmd = 'aa start -d 0 -a TestAbility' + ' -b ' + abilityDelegatorArguments.bundleName
cmd += ' '+translateParamsToString(abilityDelegatorArguments.parameters)
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
/*
* 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 abilityTest from './AccessibilityConfigReqReadPermission.test.ets'
export default function testsuite() {
abilityTest()
}
\ No newline at end of file
{
"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": "TestAbility",
"srcEntrance": "./ets/TestAbility/TestAbility.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.READ_ACCESSIBILITY_CONFIG",
"reason": "need use ohos.permission.READ_ACCESSIBILITY_CONFIG"
}
]
}
}
\ No newline at end of file
{
"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": "ActsAccessibilityConfigReqReadPermissionTest"
},
{
"name": "form_description",
"value": "my form"
},
{
"name": "serviceability_description",
"value": "my whether"
},
{
"name": "description_application",
"value": "demo for test"
},
{
"name": "app_name",
"value": "Demo"
},
{
"name": "Accessibility_desc",
"value": "accessibility_description"
},
{
"name": "Accessibility_label",
"value": "accessibility_label"
}
]
}
{
"app": {
"bundleName": "com.example.accessibilityconfigreqwritepermission",
"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
{
"string": [
{
"name": "app_name",
"value": "ohosProject"
},
{
"name": "mainability_description",
"value": "ETS_Phone_Empty Stage Ability"
}
]
}
\ No newline at end of file
# 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("ActsAccessibilityConfigReqWritePermissionTest") {
hap_profile = "entry/src/main/module.json"
deps = [
":accessibilityconfigreqwritepermission_js_assets",
":accessibilityconfigreqwritepermission_resources",
]
ets2abc = true
certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsAccessibilityConfigReqWritePermissionTest"
part_name = "accessibility"
subsystem_name = "barrierfree"
}
ohos_app_scope("accessibilityconfigreqwritepermission_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("accessibilityconfigreqwritepermission_js_assets") {
source_dir = "entry/src/main/ets"
}
ohos_resources("accessibilityconfigreqwritepermission_resources") {
sources = [ "entry/src/main/resources" ]
deps = [ ":accessibilityconfigreqwritepermission_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
{
"description": "Configuration for hjunit demo Tests",
"driver": {
"type": "OHJSUnitTest",
"test-timeout": "240000",
"bundle-name": "com.example.accessibilityconfigreqwritepermission",
"module-name": "phone",
"shell-timeout": "600000",
"testcase-timeout": 70000
},
"kits": [
{
"test-file-name": [
"ActsAccessibilityConfigReqWritePermissionTest.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
},
{
"type": "ShellKit",
"run-command": [
"power-shell setmode 602",
"param set persist.ace.testmode.enabled 1"
],
"teardown-command":[
"bm uninstall -n com.example.accessibilityconfigreqwritepermission"
]
}
]
}
\ No newline at end of file
import AbilityStage from "@ohos.application.AbilityStage"
export default class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("[Demo] MyAbilityStage onCreate")
}
}
/*
* 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 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.abilityStorage = this.storage
globalThis.abilityContext = this.context
windowStage.setUIContent(this.context, "MainAbility/pages/index/index", 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")
}
};
\ No newline at end of file
/*
* 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 router from '@ohos.router';
@Entry
@Component
struct Index {
@State message: string = 'request write permission for configuration';
aboutToAppear(){
console.info("start run testcase!!!!");
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
/*
* 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 Ability from '@ohos.application.Ability'
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from '@ohos/hypium'
import testsuite from '../test/List.test'
export default class TestAbility extends Ability {
onCreate(want, launchParam) {
console.log('TestAbility onCreate')
var abilityDelegator: any
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var abilityDelegatorArguments: any
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
console.info('start run testcase!!!')
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
}
onDestroy() {
console.log('TestAbility onDestroy')
}
onWindowStageCreate(windowStage) {
console.log('TestAbility onWindowStageCreate')
windowStage.setUIContent(this.context, 'TestAbility/pages/index', null)
globalThis.abilityContext = this.context;
}
onWindowStageDestroy() {
console.log('TestAbility onWindowStageDestroy')
}
onForeground() {
console.log('TestAbility onForeground')
}
onBackground() {
console.log('TestAbility onBackground')
}
};
\ No newline at end of file
/*
* 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 router from '@ohos.router';
@Entry
@Component
struct Index {
aboutToAppear() {
console.info('TestAbility index aboutToAppear')
}
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(20)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.width('35%')
.height('5%')
.onClick(()=>{
})
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
/*
* 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'
])
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 + '.TestAbility'
let lMonitor = {
abilityName: testAbilityName,
onAbilityCreate: onAbilityCreateCallback,
};
abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback)
var cmd = 'aa start -d 0 -a TestAbility' + ' -b ' + abilityDelegatorArguments.bundleName
cmd += ' '+translateParamsToString(abilityDelegatorArguments.parameters)
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
/*
* 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 { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium"
import config from '@ohos.accessibility.config'
export default function abilityTest() {
describe('AccessibilityConfigReqWritePermissionTest', function () {
beforeEach(async function (done) {
console.info(`AccessibilityConfigReqWritePermissionTest: beforeEach starts`);
done();
})
afterEach(async function (done) {
console.info(`AccessibilityConfigReqWritePermissionTest: afterEach starts`);
setTimeout(done, 1000);
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0300
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0300
* @tc.desc Test highContrastText.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0300', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0300');
config.highContrastText.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0300 has no read permission`);
expect(null).assertFail();
}
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_0400
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_0400
* @tc.desc Test highContrastText.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_0400', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_0400');
config.highContrastText.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_0400 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0900
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0900
* @tc.desc Test invertColor.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0900', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0900');
config.invertColor.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_0900 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1000
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1000
* @tc.desc Test invertColor.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1000', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1000');
config.invertColor.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1000 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_1500
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_1500
* @tc.desc Test contentTimeout.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_1500', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_1500');
config.contentTimeout.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_1500 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1600
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1600
* @tc.desc Test contentTimeout.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1600', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1600');
config.contentTimeout.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_1600 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2100
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2100
* @tc.desc Test animationOff.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2100', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2100');
config.animationOff.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2100 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2200
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2200
* @tc.desc Test animationOff.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2200', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2200');
config.animationOff.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2200 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2700
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2700
* @tc.desc Test brightnessDiscount.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2700', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2700');
config.brightnessDiscount.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_2700 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2800
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2800
* @tc.desc Test brightnessDiscount.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2800', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2800');
config.brightnessDiscount.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_2800 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5100
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5100
* @tc.desc Test mouseKey.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5100', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5100');
config.mouseKey.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5100 has no read permission`);
expect(null).assertFail();}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5200
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5200
* @tc.desc Test mouseKey.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5200', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5200');
config.mouseKey.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5200 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5700
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5700
* @tc.desc Test mouseAutoClick.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5700', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5700');
config.mouseAutoClick.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_5700 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5800
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5800
* @tc.desc Test mouseAutoClick.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5800', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5800');
config.mouseAutoClick.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_5800 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6300
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6300
* @tc.desc Test shortkey.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6300', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6300');
config.shortkey.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6300 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_6400
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_6400
* @tc.desc Test shortkey.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_6400', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_6400');
config.shortkey.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_6400 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6900
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6900
* @tc.desc Test shortkeyTarget.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6900', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6900');
config.shortkeyTarget.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_6900 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_7000
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_7000
* @tc.desc Test shortkeyTarget.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_7000', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_7000');
config.shortkeyTarget.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_7000 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncCallback_8300
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncCallback_8300
* @tc.desc Test daltonizationColorFilter.get() function in callback mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_8300', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncCallback_8300');
config.daltonizationColorFilter.get((err, result) => {
if (err.code != 0) {
expect(true).assertTrue();
} else {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncCallback_8300 has no read permission`);
expect(null).assertFail();
}
});
done();
})
/*
* @tc.number AccessibilityConfigReqWritePermissionTest_get_asyncPromise_8400
* @tc.name AccessibilityConfigReqWritePermissionTest_get_asyncPromise_8400
* @tc.desc Test daltonizationColorFilter.get() function in promise mode.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_8400', 0, async function(done) {
console.info('AccessibilityConfigReqWritePermissionTest_get_asyncPromise_8400');
config.daltonizationColorFilter.get().then((result) => {
console.error(`AccessibilityConfigReqWritePermissionTest_get_asyncPromise_8400 has no read permission`);
expect(null).assertFail();
done();
}).catch((err) => {
done();
});
})
})
}
\ No newline at end of file
/*
* 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 abilityTest from './AccessibilityConfigReqWritePermission.test.ets'
export default function testsuite() {
abilityTest()
}
\ No newline at end of file
{
"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": "TestAbility",
"srcEntrance": "./ets/TestAbility/TestAbility.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.WRITE_ACCESSIBILITY_CONFIG",
"reason": "need use ohos.permission.WRITE_ACCESSIBILITY_CONFIG"
}
]
}
}
\ No newline at end of file
{
"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": "ActsAccessibilityConfigReqWritePermissionTest"
},
{
"name": "form_description",
"value": "my form"
},
{
"name": "serviceability_description",
"value": "my whether"
},
{
"name": "description_application",
"value": "demo for test"
},
{
"name": "app_name",
"value": "Demo"
},
{
"name": "Accessibility_desc",
"value": "accessibility_description"
},
{
"name": "Accessibility_label",
"value": "accessibility_label"
}
]
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册