Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
20d0b242
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
1 年多 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
20d0b242
编写于
7月 11, 2023
作者:
H
hu0475
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成global子系统intl模块的跨平台测试套
Signed-off-by:
N
hu0475
<
huyanqiang5@huawei.com
>
上级
166733e6
变更
18
展开全部
显示空白变更内容
内联
并排
Showing
18 changed file
with
2035 addition
and
2 deletion
+2035
-2
global/BUILD.gn
global/BUILD.gn
+2
-1
global/crossplatform/intletstest/AppScope/app.json
global/crossplatform/intletstest/AppScope/app.json
+16
-0
global/crossplatform/intletstest/AppScope/resources/base/element/string.json
...m/intletstest/AppScope/resources/base/element/string.json
+8
-0
global/crossplatform/intletstest/AppScope/resources/base/media/app_icon.png
...rm/intletstest/AppScope/resources/base/media/app_icon.png
+0
-0
global/crossplatform/intletstest/BUILD.gn
global/crossplatform/intletstest/BUILD.gn
+45
-0
global/crossplatform/intletstest/Test.json
global/crossplatform/intletstest/Test.json
+27
-0
global/crossplatform/intletstest/signature/openharmony_sx.p7b
...al/crossplatform/intletstest/signature/openharmony_sx.p7b
+0
-0
global/crossplatform/intletstest/src/main/ets/TestAbility/TestAbility.ets
...form/intletstest/src/main/ets/TestAbility/TestAbility.ets
+48
-0
global/crossplatform/intletstest/src/main/ets/TestAbility/pages/Index.ets
...form/intletstest/src/main/ets/TestAbility/pages/Index.ets
+34
-0
global/crossplatform/intletstest/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
...letstest/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
+49
-0
global/crossplatform/intletstest/src/main/ets/test/List.test.ets
...crossplatform/intletstest/src/main/ets/test/List.test.ets
+18
-0
global/crossplatform/intletstest/src/main/ets/test/intl.test.ets
...crossplatform/intletstest/src/main/ets/test/intl.test.ets
+1722
-0
global/crossplatform/intletstest/src/main/module.json
global/crossplatform/intletstest/src/main/module.json
+36
-0
global/crossplatform/intletstest/src/main/resources/base/element/color.json
...rm/intletstest/src/main/resources/base/element/color.json
+8
-0
global/crossplatform/intletstest/src/main/resources/base/element/string.json
...m/intletstest/src/main/resources/base/element/string.json
+16
-0
global/crossplatform/intletstest/src/main/resources/base/media/icon.png
...atform/intletstest/src/main/resources/base/media/icon.png
+0
-0
global/crossplatform/intletstest/src/main/resources/base/profile/test_pages.json
...tletstest/src/main/resources/base/profile/test_pages.json
+5
-0
graphic/BUILD.gn
graphic/BUILD.gn
+1
-1
未找到文件。
global/BUILD.gn
浏览文件 @
20d0b242
# Copyright (C) 202
2
Huawei Device Co., Ltd.
# Copyright (C) 202
3
Huawei Device 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
...
@@ -17,6 +17,7 @@ group("global") {
...
@@ -17,6 +17,7 @@ group("global") {
testonly = true
testonly = true
if (is_standard_system) {
if (is_standard_system) {
deps = [
deps = [
"crossplatform/intletstest:intl_ets_test",
"global_napi_test:ActsGlobalNapiTest",
"global_napi_test:ActsGlobalNapiTest",
"global_stage:global_stage_hap",
"global_stage:global_stage_hap",
"i18n_standard/intljs:intljs_test",
"i18n_standard/intljs:intljs_test",
...
...
global/crossplatform/intletstest/AppScope/app.json
0 → 100644
浏览文件 @
20d0b242
{
"app"
:
{
"bundleName"
:
"ohos.acts.global.crossplatform.intl.normal"
,
"vendor"
:
"example"
,
"versionCode"
:
1000000
,
"versionName"
:
"1.0.0"
,
"icon"
:
"$media:app_icon"
,
"label"
:
"$string:app_name"
,
"minAPIVersion"
:
9
,
"targetAPIVersion"
:
9
,
"car"
:
{
"apiCompatibleVersion"
:
9
,
"singleUser"
:
false
}
}
}
global/crossplatform/intletstest/AppScope/resources/base/element/string.json
0 → 100644
浏览文件 @
20d0b242
{
"string"
:
[
{
"name"
:
"app_name"
,
"value"
:
"xtsDemo1"
}
]
}
global/crossplatform/intletstest/AppScope/resources/base/media/app_icon.png
0 → 100644
浏览文件 @
20d0b242
6.6 KB
global/crossplatform/intletstest/BUILD.gn
0 → 100644
浏览文件 @
20d0b242
# Copyright (C) 2023 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("intl_ets_test") {
hap_profile = "src/main/module.json"
deps = [
":windowStage_js_assets",
":windowStage_resources",
]
ets2abc = true
certificate_profile = "./signature/openharmony_sx.p7b"
# hap_name: HAP的名字,可选,默认为目标名
hap_name = "intl_ets_test"
subsystem_name = "global"
part_name = "i18n"
}
ohos_app_scope("windowStage_app_profile") {
# app_profile: HAP的AppScope中的app.json,只在Stage模型下使用
app_profile = "AppScope/app.json"
# sources: 资源文件路径
sources = [ "AppScope/resources" ]
}
ohos_js_assets("windowStage_js_assets") {
# source_dir: js或ets代码路径,兼容FA模型的单ability配置到ability目录
source_dir = "src/main/ets"
}
ohos_resources("windowStage_resources") {
# sources: 资源文件路径
sources = [ "src/main/resources" ]
# deps: 当前目标的依赖
deps = [ ":windowStage_app_profile" ]
# hap_profile: HAP的config.json,Stage模型对应module.json
hap_profile = "src/main/module.json"
}
\ No newline at end of file
global/crossplatform/intletstest/Test.json
0 → 100644
浏览文件 @
20d0b242
{
"description"
:
"Configuration for hjunit demo Tests"
,
//
指定设备执行的驱动
"driver"
:
{
"type"
:
"OHJSUnitTest"
,
//test-timeout:
测试hap
整体执行用例的执行时长
"test-timeout"
:
"60000"
,
//shell-timeout:
aa
test
拉起命令执行时长
"shell-timeout"
:
"60000"
,
//bundle-name:
与HAP的app.json
中
bundleName
保持一致
"bundle-name"
:
"ohos.acts.global.crossplatform.intl.normal"
,
//module-name:
与HAP的module.json
中
"module"
字段的
name
保持一致
"module-name"
:
"entry_test"
//testcase-timeout:
测试hap
单条用例的执行时长
//
"testcase-timeout"
:
5000
},
//
kit的作用主要是为了支撑测试执行活动,在测试前执行预制操作(Setup),在测试后执行清理操作(Teardown)
"kits"
:
[
{
"test-file-name"
:
[
"ActsDemoStageTest.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
\ No newline at end of file
global/crossplatform/intletstest/signature/openharmony_sx.p7b
0 → 100644
浏览文件 @
20d0b242
文件已添加
global/crossplatform/intletstest/src/main/ets/TestAbility/TestAbility.ets
0 → 100644
浏览文件 @
20d0b242
import UIAbility from '@ohos.app.ability.UIAbility';
import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
import hilog from '@ohos.hilog';
import { Hypium } from '@ohos/hypium';
import testsuite from '../test/List.test';
import window from '@ohos.window';
export default class TestAbility extends UIAbility {
onCreate(want, launchParam) {
hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate');
hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? '');
hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:'+ JSON.stringify(launchParam) ?? '');
var abilityDelegator: any
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var abilityDelegatorArguments: any
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!');
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
}
onDestroy() {
hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onDestroy');
}
onWindowStageCreate(windowStage: window.WindowStage) {
hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageCreate');
windowStage.loadContent('TestAbility/pages/Index', (err, data) => {
if (err.code) {
hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
return;
}
hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s',
JSON.stringify(data) ?? '');
});
}
onWindowStageDestroy() {
hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy');
}
onForeground() {
hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground');
}
onBackground() {
hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground');
}
}
\ No newline at end of file
global/crossplatform/intletstest/src/main/ets/TestAbility/pages/Index.ets
0 → 100644
浏览文件 @
20d0b242
import hilog from '@ohos.hilog';
@Entry
@Component
struct Index {
aboutToAppear() {
hilog.info(0x0000, 'testTag', '%{public}s', '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
global/crossplatform/intletstest/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
0 → 100644
浏览文件 @
20d0b242
import
hilog
from
'
@ohos.hilog
'
;
import
TestRunner
from
'
@ohos.application.testRunner
'
;
import
AbilityDelegatorRegistry
from
'
@ohos.app.ability.abilityDelegatorRegistry
'
;
var
abilityDelegator
=
undefined
var
abilityDelegatorArguments
=
undefined
async
function
onAbilityCreateCallback
()
{
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
%{public}s
'
,
'
onAbilityCreateCallback
'
);
}
async
function
addAbilityMonitorCallback
(
err
:
any
)
{
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
addAbilityMonitorCallback : %{public}s
'
,
JSON
.
stringify
(
err
)
??
''
);
}
export
default
class
OpenHarmonyTestRunner
implements
TestRunner
{
constructor
()
{
}
onPrepare
()
{
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
%{public}s
'
,
'
OpenHarmonyTestRunner OnPrepare
'
);
}
async
onRun
()
{
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
%{public}s
'
,
'
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
var
debug
=
abilityDelegatorArguments
.
parameters
[
'
-D
'
]
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
}
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
cmd : %{public}s
'
,
cmd
);
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
:
any
,
d
:
any
)
=>
{
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
executeShellCommand : err : %{public}s
'
,
JSON
.
stringify
(
err
)
??
''
);
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
executeShellCommand : data : %{public}s
'
,
d
.
stdResult
??
''
);
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
executeShellCommand : data : %{public}s
'
,
d
.
exitCode
??
''
);
})
hilog
.
info
(
0x0000
,
'
testTag
'
,
'
%{public}s
'
,
'
OpenHarmonyTestRunner onRun end
'
);
}
}
\ No newline at end of file
global/crossplatform/intletstest/src/main/ets/test/List.test.ets
0 → 100644
浏览文件 @
20d0b242
/*
* Copyright (C) 2023 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 intl from './intl.test'
export default function testsuite() {
intl()
}
\ No newline at end of file
global/crossplatform/intletstest/src/main/ets/test/intl.test.ets
0 → 100644
浏览文件 @
20d0b242
此差异已折叠。
点击以展开。
global/crossplatform/intletstest/src/main/module.json
0 → 100644
浏览文件 @
20d0b242
{
"module"
:
{
"name"
:
"entry_test"
,
"type"
:
"feature"
,
"description"
:
"$string:module_test_desc"
,
"mainElement"
:
"TestAbility"
,
"deviceTypes"
:
[
"phone"
],
"deliveryWithInstall"
:
true
,
"installationFree"
:
false
,
"pages"
:
"$profile:test_pages"
,
"abilities"
:
[
{
"name"
:
"TestAbility"
,
"srcEntry"
:
"./ets/TestAbility/TestAbility.ets"
,
"description"
:
"$string:TestAbility_desc"
,
"icon"
:
"$media:icon"
,
"label"
:
"$string:TestAbility_label"
,
"exported"
:
true
,
"startWindowIcon"
:
"$media:icon"
,
"startWindowBackground"
:
"$color:start_window_background"
,
"skills"
:
[
{
"actions"
:
[
"action.system.home"
],
"entities"
:
[
"entity.system.home"
]
}
]
}
]
}
}
global/crossplatform/intletstest/src/main/resources/base/element/color.json
0 → 100644
浏览文件 @
20d0b242
{
"color"
:
[
{
"name"
:
"start_window_background"
,
"value"
:
"#FFFFFF"
}
]
}
\ No newline at end of file
global/crossplatform/intletstest/src/main/resources/base/element/string.json
0 → 100644
浏览文件 @
20d0b242
{
"string"
:
[
{
"name"
:
"module_test_desc"
,
"value"
:
"test ability description"
},
{
"name"
:
"TestAbility_desc"
,
"value"
:
"the test ability"
},
{
"name"
:
"TestAbility_label"
,
"value"
:
"test label"
}
]
}
\ No newline at end of file
global/crossplatform/intletstest/src/main/resources/base/media/icon.png
0 → 100644
浏览文件 @
20d0b242
6.6 KB
global/crossplatform/intletstest/src/main/resources/base/profile/test_pages.json
0 → 100644
浏览文件 @
20d0b242
{
"src"
:
[
"TestAbility/pages/Index"
]
}
graphic/BUILD.gn
浏览文件 @
20d0b242
# Copyright (C) 202
2
Huawei Device Co., Ltd.
# Copyright (C) 202
3
Huawei Device 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
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录