提交 f75c8128 编写于 作者: A anning

applications

Signed-off-by: Nanning <anning7@huawei.com>
上级 7f481963
{
"app": {
"bundleName": "com.open.harmony.settings",
"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":"description_application",
"value":"settings_xts"
}
]
}
\ No newline at end of file
# Copyright (c) 2022 Huawei Device Co., Ltd. # Copyright (c) 2023-2030 iSoftStone Information Technology (Group) Co.,Ltd.
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at
...@@ -14,23 +14,28 @@ ...@@ -14,23 +14,28 @@
import("//test/xts/tools/build/suite.gni") import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("SettingsEtsTest") { ohos_js_hap_suite("SettingsEtsTest") {
hap_profile = "./entry/src/main/config.json" hap_profile = "entry/src/main/module.json"
js_build_mode = "debug"
deps = [ deps = [
":settings_ets_assets", ":settings_ets_js_assets",
":settings_ets_resources", ":settings_ets_resources",
":settings_ets_test_assets",
] ]
ets2abc = true ets2abc = true
certificate_profile = "./signature/openharmony_sx.p7b" certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsSettingsEtsTest" hap_name = "ActsSettingsEtsTest"
} }
ohos_js_assets("settings_ets_assets") {
source_dir = "./entry/src/main/ets/MainAbility" ohos_app_scope("settings_ets_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
} }
ohos_js_assets("settings_ets_test_assets") {
source_dir = "./entry/src/main/ets/TestAbility" ohos_js_assets("settings_ets_js_assets") {
source_dir = "entry/src/main/ets"
} }
ohos_resources("settings_ets_resources") { ohos_resources("settings_ets_resources") {
sources = [ "./entry/src/main/resources" ] sources = [ "entry/src/main/resources" ]
hap_profile = "./entry/src/main/config.json" deps = [ ":settings_ets_app_profile" ]
hap_profile = "entry/src/main/module.json"
} }
...@@ -2,18 +2,22 @@ ...@@ -2,18 +2,22 @@
"description": "Configuration for settings Tests", "description": "Configuration for settings Tests",
"driver": { "driver": {
"type": "OHJSUnitTest", "type": "OHJSUnitTest",
"test-timeout": "600000", "test-timeout": "180000",
"bundle-name": "com.open.harmony.settings", "bundle-name": "com.open.harmony.settings",
"package-name": "com.open.harmony.settings", "module-name": "phone",
"shell-timeout": "600000" "shell-timeout": "600000"
}, },
"kits": [ "kits": [{
{ "test-file-name": [
"test-file-name": [ "ActsSettingsEtsTest.hap"
"ActsSettingsEtsTest.hap" ],
], "type": "AppInstallKit",
"type": "AppInstallKit", "cleanup-apps": true
"cleanup-apps": true }, {
} "type": "ShellKit",
] "run-command": [
} "power-shell wakeup",
"power-shell setmode 602"
]
}]
}
\ No newline at end of file
{
"app": {
"bundleName": "com.open.harmony.settings",
"vendor": "open",
"version": {
"code": 1000000,
"name": "1.0.0"
},
"apiVersion": {
"compatible": 7,
"releaseType": "Release",
"target": 7
}
},
"deviceConfig": {},
"module": {
"package": "com.open.harmony.settings",
"name": ".MyApplication",
"mainAbility": "com.open.harmony.settings.MainAbility",
"srcPath": "",
"deviceType": [
"tablet",
"default",
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": false
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"orientation": "unspecified",
"visible": true,
"srcPath": "MainAbility",
"name": ".MainAbility",
"srcLanguage": "ets",
"icon": "$media:icon",
"description": "$string:description_mainability",
"formsEnabled": false,
"label": "$string:entry_MainAbility",
"type": "page",
"launchType": "standard"
},
{
"orientation": "unspecified",
"visible": true,
"srcPath": "TestAbility",
"name": ".TestAbility",
"srcLanguage": "ets",
"icon": "$media:icon",
"description": "$string:TestAbility_desc",
"formsEnabled": false,
"label": "$string:TestAbility_label",
"type": "page",
"launchType": "standard"
}
],
"reqPermissions": [
{
"name":"ohos.permission.MANAGE_SECURE_SETTINGS",
"reason":"need use ohos.permission.,MANAGE_SECURE_SETTINGS"
}
],
"js": [
{
"mode": {
"syntax": "ets",
"type": "pageAbility"
},
"pages": [
"pages/index"
],
"name": ".MainAbility",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
},
{
"mode": {
"syntax": "ets",
"type": "pageAbility"
},
"pages": [
"pages/index"
],
"name": ".TestAbility",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
import AbilityStage from "@ohos.app.ability.AbilityStage"
export default class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("[Demo] MyAbilityStage onCreate")
globalThis.stageOnCreateRun = 1;
globalThis.stageContext = this.context;
}
}
import Ability from '@ohos.app.ability.UIAbility'
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/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
// @ts-nocheck
/** /**
* Copyright (c) 2021 Huawei Device Co., Ltd. * Copyright (c) 2023-2030 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
...@@ -13,25 +12,45 @@ ...@@ -13,25 +12,45 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import router from '@ohos.router';
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from '@ohos/hypium'
import testsuite from '../../../test/List.test'
@Entry @Entry
@Component @Component
struct MyComponent { struct Index {
aboutToAppear() {
aboutToAppear(){
console.info("aboutToAppear start")
var abilityDelegator: any
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var abilityDelegatorArguments: any
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
console.info('start run testcase!!!')
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
} }
build() { build() {
Flex({ Flex({ direction:FlexDirection.Column, alignItems:ItemAlign.Center, justifyContent: FlexAlign.Center }) {
direction: FlexDirection.Column, Text('Hello World')
alignItems: ItemAlign.Center,
justifyContent: FlexAlign.Center
}) {
Text('Settings ETS TEST')
.fontSize(50) .fontSize(50)
.fontWeight(FontWeight.Bold) .fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.onClick(() => {
})
} }
.width('100%') .width('100%')
.height('100%') .height('100%')
} }
} }
\ No newline at end of file
/** /**
* Copyright (c) 2021 Huawei Device Co., Ltd. * Copyright (c) 2023-2030 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
...@@ -12,11 +12,39 @@ ...@@ -12,11 +12,39 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
export default { import Ability from '@ohos.app.ability.UIAbility'
onCreate() {
console.info('Application onCreate') export default class TestAbility extends Ability {
}, onCreate(want, launchParam) {
onDestroy() { console.log('TestAbility onCreate')
console.info('Application onDestroy') }
},
} onDestroy() {
\ No newline at end of file console.log('TestAbility onDestroy')
}
onWindowStageCreate(windowStage) {
console.log('TestAbility onWindowStageCreate')
windowStage.loadContent("TestAbility/pages/index", (err, data) => {
if (err.code) {
console.error('Failed to load the content. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
});
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 AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from 'hypium/index'
import testsuite from '../test/List.test'
export default {
onCreate() {
console.info('Application 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.info('Application onDestroy')
},
}
\ No newline at end of file
/* /**
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (c) 2023-2030 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import router from '@system.router'; import router from '@ohos.router';
@Entry @Entry
@Component @Component
...@@ -20,7 +20,6 @@ struct Index { ...@@ -20,7 +20,6 @@ struct Index {
aboutToAppear() { aboutToAppear() {
console.info('TestAbility index aboutToAppear') console.info('TestAbility index aboutToAppear')
} }
@State message: string = 'Hello World' @State message: string = 'Hello World'
build() { build() {
Row() { Row() {
......
/* /**
* Copyright (C) 2022 Huawei Device Co., Ltd. * Copyright (c) 2023-2030 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
...@@ -20,25 +20,25 @@ var abilityDelegatorArguments = undefined ...@@ -20,25 +20,25 @@ var abilityDelegatorArguments = undefined
function translateParamsToString(parameters) { function translateParamsToString(parameters) {
const keySet = new Set([ const keySet = new Set([
'-s class', '-s notClass', '-s suite', '-s itName', '-s class', '-s notClass', '-s suite', '-s it',
'-s level', '-s testType', '-s size', '-s timeout', '-s level', '-s testType', '-s size', '-s timeout',
'-s package' '-s dryRun'
]) ])
let targetParams = ''; let targetParams = '';
for (const key in parameters) { for (const key in parameters) {
if (keySet.has(key)) { if (keySet.has(key)) {
targetParams += ' ' + key + ' ' + parameters[key] targetParams = `${targetParams} ${key} ${parameters[key]}`
} }
} }
return targetParams.trim() return targetParams.trim()
} }
async function onAbilityCreateCallback() { async function onAbilityCreateCallback() {
console.log('onAbilityCreateCallback'); console.log("onAbilityCreateCallback");
} }
async function addAbilityMonitorCallback(err: any) { async function addAbilityMonitorCallback(err: any) {
console.info('addAbilityMonitorCallback : ' + JSON.stringify(err)) console.info("addAbilityMonitorCallback : " + JSON.stringify(err))
} }
export default class OpenHarmonyTestRunner implements TestRunner { export default class OpenHarmonyTestRunner implements TestRunner {
...@@ -46,22 +46,26 @@ export default class OpenHarmonyTestRunner implements TestRunner { ...@@ -46,22 +46,26 @@ export default class OpenHarmonyTestRunner implements TestRunner {
} }
onPrepare() { onPrepare() {
console.info('OpenHarmonyTestRunner OnPrepare') console.info("OpenHarmonyTestRunner OnPrepare ")
} }
onRun() { async onRun() {
console.log('OpenHarmonyTestRunner onRun run') console.log('OpenHarmonyTestRunner onRun run')
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var testAbilityName = abilityDelegatorArguments.bundleName + '.MainAbility'
let lMonitor = { let lMonitor = {
abilityName: testAbilityName, abilityName: testAbilityName,
onAbilityCreate: onAbilityCreateCallback, onAbilityCreate: onAbilityCreateCallback,
}; };
var testAbilityName = abilityDelegatorArguments.parameters['-p'] + '.TestAbility'
abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback)
var cmd = 'aa start -d 0 -a ' + testAbilityName + ' -b ' + abilityDelegatorArguments.bundleName var cmd = 'aa start -d 0 -a com.open.harmony.settings.MainAbility' + ' -b ' + abilityDelegatorArguments.bundleName
cmd += ' '+translateParamsToString(abilityDelegatorArguments.parameters) cmd += ' '+translateParamsToString(abilityDelegatorArguments.parameters)
var debug = abilityDelegatorArguments.parameters["-D"]
if (debug == 'true')
{
cmd += ' -D'
}
console.info('cmd : '+cmd) console.info('cmd : '+cmd)
abilityDelegator.executeShellCommand(cmd, abilityDelegator.executeShellCommand(cmd,
(err: any, d: any) => { (err: any, d: any) => {
...@@ -69,9 +73,6 @@ export default class OpenHarmonyTestRunner implements TestRunner { ...@@ -69,9 +73,6 @@ export default class OpenHarmonyTestRunner implements TestRunner {
console.info('executeShellCommand : data : ' + d.stdResult); console.info('executeShellCommand : data : ' + d.stdResult);
console.info('executeShellCommand : data : ' + d.exitCode); console.info('executeShellCommand : data : ' + d.exitCode);
}) })
console.info('OpenHarmonyTestRunner onRun call abilityDelegator.getAppContext')
var context = abilityDelegator.getAppContext()
console.info('getAppContext : ' + JSON.stringify(context))
console.info('OpenHarmonyTestRunner onRun end') console.info('OpenHarmonyTestRunner onRun end')
} }
}; };
\ No newline at end of file
...@@ -15,5 +15,6 @@ ...@@ -15,5 +15,6 @@
import settingUiJsunit from './SettingUiJsunit.test.ets'; import settingUiJsunit from './SettingUiJsunit.test.ets';
export default function testsuite() { export default function testsuite() {
console.log("testsuite start")
settingUiJsunit(); settingUiJsunit();
} }
\ No newline at end of file
{
"module": {
"name": "phone",
"type": "entry",
"srcEntrance": "./ets/Application/AbilityStage.ts",
"description": "$string:phone_entry_dsc",
"mainElement": "MainAbility",
"deviceTypes": [
"tablet",
"default",
"phone"
],
"deliveryWithInstall": true,
"installationFree": false,
"uiSyntax": "ets",
"pages": "$profile:main_pages",
"abilities": [{
"name": "com.open.harmony.settings.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"
]
}]
}],
"metadata":[{
"name":"ArkTSPartialUpdate",
"value":"true"
}],
"requestPermissions": [
{
"name": "ohos.permission.MANAGE_SECURE_SETTINGS",
"reason": "need permission to write settingsdata"
}
]
}
}
\ No newline at end of file
{ {
"string": [ "string": [
{ {
"name": "entry_MainAbility", "name": "phone_entry_dsc",
"value": "entry_MainAbility" "value": "i am an entry for phone"
}, },
{ {
"name": "description_mainability", "name": "phone_entry_main",
"value": "ETS_Empty Ability" "value": "the phone entry ability"
}, },
{ {
"name": "TestAbility_desc", "name": "entry_label",
"value": "description" "value": "ActsContextTest"
}, },
{ {
"name": "TestAbility_label", "name": "form_description",
"value": "label" "value": "my form"
} },
] {
} "name": "serviceability_description",
\ No newline at end of file "value": "my whether"
},
{
"name": "description_application",
"value": "demo for test"
},
{
"name": "app_name",
"value": "Demo"
}
]
}
{
"src": [
"MainAbility/pages/index/index",
"TestAbility/pages/index"
]
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册