提交 96a8a7c4 编写于 作者: zyjhandsome's avatar zyjhandsome

访问控制授权申请,跳转连接修改为具体的配置子章节内容(#配置文件权限声明)。

Signed-off-by: zyjhandsome's avatarzyjhandsome <zyjhandsome@126.com>
上级 f79879ca
...@@ -176,7 +176,7 @@ export default class EntryAbility extends UIAbility { ...@@ -176,7 +176,7 @@ export default class EntryAbility extends UIAbility {
> **说明:** > **说明:**
> 当获取的是其他应用的Context时: > 当获取的是其他应用的Context时:
> >
> - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。 > - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
> >
> - 接口为系统接口,三方应用不支持调用。 > - 接口为系统接口,三方应用不支持调用。
...@@ -199,7 +199,7 @@ export default class EntryAbility extends UIAbility { ...@@ -199,7 +199,7 @@ export default class EntryAbility extends UIAbility {
> **说明:** > **说明:**
> 当获取的是其他应用的指定Module的Context时: > 当获取的是其他应用的指定Module的Context时:
> >
> - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。 > - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
> >
> - 接口为系统接口,三方应用不支持调用。 > - 接口为系统接口,三方应用不支持调用。
...@@ -303,7 +303,7 @@ export default class EntryAbility extends UIAbility { ...@@ -303,7 +303,7 @@ export default class EntryAbility extends UIAbility {
每个Ability中都包含了一个Context属性。Ability功能主要是处理生命周期,其余操作Ability的方法(例如startAbility()、connectServiceExtensionAbility()、terminateSelf()等)都是在对应的Context中实现的,同时Context也提供了获取Ability的配置信息、向用户申请授权等能力,如何获取Context请参见[获取UIAbility的上下文信息](uiability-usage.md#获取uiability的上下文信息) 每个Ability中都包含了一个Context属性。Ability功能主要是处理生命周期,其余操作Ability的方法(例如startAbility()、connectServiceExtensionAbility()、terminateSelf()等)都是在对应的Context中实现的,同时Context也提供了获取Ability的配置信息、向用户申请授权等能力,如何获取Context请参见[获取UIAbility的上下文信息](uiability-usage.md#获取uiability的上下文信息)
应用需要获取用户的隐私信息或使用系统能力时,例如获取位置信息、访问日历、使用相机拍摄照片或录制视频等,需要向用户申请授权,示意效果如下图所示。具体使用请参见[访问控制授权申请指导](../security/accesstoken-guidelines.md) 应用需要获取用户的隐私信息或使用系统能力时,例如获取位置信息、访问日历、使用相机拍摄照片或录制视频等,需要向用户申请授权,示意效果如下图所示。具体使用请参见[访问控制授权申请](../security/accesstoken-guidelines.md)
**图2** 向用户申请日历访问授权 **图2** 向用户申请日历访问授权
<img src="figures/application-context-stage.png" alt="application-context-stage" style="zoom:50%;" /> <img src="figures/application-context-stage.png" alt="application-context-stage" style="zoom:50%;" />
\ No newline at end of file
...@@ -19,7 +19,7 @@ OpenHarmony通过CES(Common Event Service,公共事件服务)为应用程 ...@@ -19,7 +19,7 @@ OpenHarmony通过CES(Common Event Service,公共事件服务)为应用程
- 有序公共事件:CES转发公共事件时,按订阅者订阅先后顺序,在接收到前一个订阅者回复后,再转发下一个订阅者。 - 有序公共事件:CES转发公共事件时,按订阅者订阅先后顺序,在接收到前一个订阅者回复后,再转发下一个订阅者。
- 粘性公共事件:能够让订阅者收到在订阅前已经发送的公共事件就是粘性公共事件。普通的公共事件只能在订阅后发送才能收到,而粘性公共事件的特殊性就是可以先发送后订阅。发送粘性事件必须是系统应用或系统服务,且需要申请`ohos.permission.COMMONEVENT_STICKY`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) - 粘性公共事件:能够让订阅者收到在订阅前已经发送的公共事件就是粘性公共事件。普通的公共事件只能在订阅后发送才能收到,而粘性公共事件的特殊性就是可以先发送后订阅。发送粘性事件必须是系统应用或系统服务,且需要申请`ohos.permission.COMMONEVENT_STICKY`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
每个应用都可以按需订阅公共事件,订阅成功,当公共事件发布时,系统会将其发送给对应的应用。这些公共事件可能来自系统、其他应用和应用自身。 每个应用都可以按需订阅公共事件,订阅成功,当公共事件发布时,系统会将其发送给对应的应用。这些公共事件可能来自系统、其他应用和应用自身。
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
### 开发步骤 ### 开发步骤
1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) 1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
2. 申请数据同步权限,弹框示例代码。 2. 申请数据同步权限,弹框示例代码。
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
### 开发步骤 ### 开发步骤
1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) 1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
2. 申请数据同步权限,弹框示例代码。 2. 申请数据同步权限,弹框示例代码。
...@@ -218,7 +218,7 @@ ...@@ -218,7 +218,7 @@
### 开发步骤 ### 开发步骤
1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) 1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
2. 申请数据同步权限,弹框示例代码。 2. 申请数据同步权限,弹框示例代码。
...@@ -327,7 +327,7 @@ ...@@ -327,7 +327,7 @@
### 开发步骤 ### 开发步骤
1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) 1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
2. 申请数据同步权限,弹框示例代码。 2. 申请数据同步权限,弹框示例代码。
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
- MissionList:一个从桌面开始启动的任务列表,记录了任务之间的启动关系,上一个任务由下一个任务启动,最底部的任务由桌面启动,这里称之为任务链。 - MissionList:一个从桌面开始启动的任务列表,记录了任务之间的启动关系,上一个任务由下一个任务启动,最底部的任务由桌面启动,这里称之为任务链。
- MissionListManager:系统任务管理模块,内部维护了当前所有的任务链,与最近任务列表保持一致。 - MissionListManager:系统任务管理模块,内部维护了当前所有的任务链,与最近任务列表保持一致。
**图1** 任务管理示意图 **图1** 任务管理示意图
![mission-list-manager](figures/mission-list-manager.png) ![mission-list-manager](figures/mission-list-manager.png)
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
一个UIAbility实例对应一个单独的任务,因此应用调用startAbility()方法启动一个UIAbility时,就是创建了一个任务。 一个UIAbility实例对应一个单独的任务,因此应用调用startAbility()方法启动一个UIAbility时,就是创建了一个任务。
桌面应用调用[missionManager](../reference/apis/js-apis-application-missionManager.md)的接口管理任务,需要申请`ohos.permission.MANAGE_MISSIONS`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) 桌面应用调用[missionManager](../reference/apis/js-apis-application-missionManager.md)的接口管理任务,需要申请`ohos.permission.MANAGE_MISSIONS`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
利用missionManager进行任务管理(监听任务变化、获取任务信息、获取任务快照、清理任务、任务加锁/解锁等),示例代码如下: 利用missionManager进行任务管理(监听任务变化、获取任务信息、获取任务快照、清理任务、任务加锁/解锁等),示例代码如下:
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
在config.json声明需要的权限,在module下添加"reqPermissions",并写入对应权限。 在config.json声明需要的权限,在module下添加"reqPermissions",并写入对应权限。
如申请访问日历权限,需要申请`ohos.permission.READ_CALENDAR`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) 如申请访问日历权限,需要申请`ohos.permission.READ_CALENDAR`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
对应config.json文件的示例代码如下所示: 对应config.json文件的示例代码如下所示:
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
- EventHub:[基类Context](application-context-stage.md)提供了EventHub的能力,使用发布订阅模式来实现。事件需要先订阅后发布,订阅者收到消息后进行处理。 - EventHub:[基类Context](application-context-stage.md)提供了EventHub的能力,使用发布订阅模式来实现。事件需要先订阅后发布,订阅者收到消息后进行处理。
- globalThis:ArkTS引擎实例内部的一个全局对象,在ArkTS引擎实例内部都能访问。 - globalThis:ArkTS引擎实例内部的一个全局对象,在ArkTS引擎实例内部都能访问。
- - [页面级变量的状态管理](../quick-start/arkts-state-mgmt-application-level.md)
## 使用EventHub进行数据通信 ## 使用EventHub进行数据通信
......
...@@ -21,7 +21,7 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 ...@@ -21,7 +21,7 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以
## 约束与限制 ## 约束与限制
开发者在进行音频数据采集功能开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),权限配置相关内容可参考:[访问控制授权申请指导](../security/accesstoken-guidelines.md) 开发者在进行音频数据采集功能开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
## 开发指导 ## 开发指导
...@@ -178,16 +178,16 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以 ...@@ -178,16 +178,16 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以
// 获取采集器信息 // 获取采集器信息
let audioCapturerInfo : audio.AuduioCapturerInfo = await audioCapturer.getCapturerInfo(); let audioCapturerInfo : audio.AuduioCapturerInfo = await audioCapturer.getCapturerInfo();
// 获取音频流信息 // 获取音频流信息
let audioStreamInfo : audio.AudioStreamInfo = await audioCapturer.getStreamInfo(); let audioStreamInfo : audio.AudioStreamInfo = await audioCapturer.getStreamInfo();
// 获取音频流ID // 获取音频流ID
let audioStreamId : number = await audioCapturer.getAudioStreamId(); let audioStreamId : number = await audioCapturer.getAudioStreamId();
// 获取纳秒形式的Unix时间戳 // 获取纳秒形式的Unix时间戳
let audioTime : number = await audioCapturer.getAudioTime(); let audioTime : number = await audioCapturer.getAudioTime();
// 获取合理的最小缓冲区大小 // 获取合理的最小缓冲区大小
let bufferSize : number = await audioCapturer.getBuffersize(); let bufferSize : number = await audioCapturer.getBuffersize();
``` ```
......
...@@ -16,7 +16,7 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指 ...@@ -16,7 +16,7 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指
## 约束与限制 ## 约束与限制
开发者在进行麦克风管理开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),如果要设置麦克风状态,则需要配置音频管理配置权限(ohos.permission.MANAGE_AUDIO_CONFIG),需注意该权限为系统级别权限。权限配置相关内容可参考:[访问控制授权申请指导](../security/accesstoken-guidelines.md) 开发者在进行麦克风管理开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),如果要设置麦克风状态,则需要配置音频管理配置权限(ohos.permission.MANAGE_AUDIO_CONFIG),需注意该权限为系统级别权限。配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
## 开发指导 ## 开发指导
...@@ -89,27 +89,27 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指 ...@@ -89,27 +89,27 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指
var audioVolumeGroupManager = await audio.getAudioManager().getVolumeManager().getVolumeGroupManager(groupid); var audioVolumeGroupManager = await audio.getAudioManager().getVolumeManager().getVolumeGroupManager(groupid);
console.info('audioVolumeGroupManager create success.'); console.info('audioVolumeGroupManager create success.');
} }
async on() { //监听麦克风状态变化 async on() { //监听麦克风状态变化
await loadVolumeGroupManager(); await loadVolumeGroupManager();
await audioVolumeGroupManager.audioVolumeGroupManager.on('micStateChange', (micStateChange) => { await audioVolumeGroupManager.audioVolumeGroupManager.on('micStateChange', (micStateChange) => {
console.info(`Current microphone status is: ${micStateChange.mute} `); console.info(`Current microphone status is: ${micStateChange.mute} `);
}); });
} }
async isMicrophoneMute() { //查询麦克风是否静音 async isMicrophoneMute() { //查询麦克风是否静音
await audioVolumeGroupManager.audioVolumeGroupManager.isMicrophoneMute().then((value) => { await audioVolumeGroupManager.audioVolumeGroupManager.isMicrophoneMute().then((value) => {
console.info(`isMicrophoneMute is: ${value}.`); console.info(`isMicrophoneMute is: ${value}.`);
}); });
} }
async setMicrophoneMuteTrue() { //设置麦克风静音 async setMicrophoneMuteTrue() { //设置麦克风静音
await loadVolumeGroupManager(); await loadVolumeGroupManager();
await audioVolumeGroupManager.audioVolumeGroupManager.setMicrophoneMute(true).then(() => { await audioVolumeGroupManager.audioVolumeGroupManager.setMicrophoneMute(true).then(() => {
console.info('setMicrophoneMute to mute.'); console.info('setMicrophoneMute to mute.');
}); });
} }
async setMicrophoneMuteFalse() { //取消麦克风静音 async setMicrophoneMuteFalse() { //取消麦克风静音
await loadVolumeGroupManager(); await loadVolumeGroupManager();
await audioVolumeGroupManager.audioVolumeGroupManager.setMicrophoneMute(false).then(() => { await audioVolumeGroupManager.audioVolumeGroupManager.setMicrophoneMute(false).then(() => {
...@@ -123,5 +123,5 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指 ...@@ -123,5 +123,5 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指
await isMicrophoneMute(); await isMicrophoneMute();
await setMicrophoneMuteFalse(); await setMicrophoneMuteFalse();
} }
``` ```
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
## 开发步骤 ## 开发步骤
1. 申请`ohos.permission.NOTIFICATION_CONTROLLER`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md) 1. 申请`ohos.permission.NOTIFICATION_CONTROLLER`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
2. 导入通知订阅模块。 2. 导入通知订阅模块。
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
## 开发步骤 ## 开发步骤
1. 申请`ohos.permission.PUBLISH_AGENT_REMINDER`权限,配置方式请参[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型) 1. 申请`ohos.permission.PUBLISH_AGENT_REMINDER`权限,配置方式请参[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
2. [使能通知开关](../notification/notification-enable.md),获得用户授权后,才能使用代理提醒功能。 2. [使能通知开关](../notification/notification-enable.md),获得用户授权后,才能使用代理提醒功能。
...@@ -164,7 +164,7 @@ ...@@ -164,7 +164,7 @@
```js ```js
let reminderId = 0; // reminderId的值从发布提醒代理成功之后的回调中获得 let reminderId = 0; // reminderId的值从发布提醒代理成功之后的回调中获得
try { try {
reminderAgentManager.cancelReminder(reminderId).then(() => { reminderAgentManager.cancelReminder(reminderId).then(() => {
console.log("cancelReminder promise"); console.log("cancelReminder promise");
......
...@@ -20,7 +20,7 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速 ...@@ -20,7 +20,7 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
## 环境准备 ## 环境准备
开发自测试框架依赖于python运行环境,python版本为3.7.5及以上版本,在使用测试框架之前可参以下方式进行配置。 开发自测试框架依赖于python运行环境,python版本为3.7.5及以上版本,在使用测试框架之前可参以下方式进行配置。
源码获取可[参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md) 源码获取可[参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md)
......
...@@ -3,7 +3,7 @@ OpenHarmony为开发者提供了一套全面的自测试框架,开发者可根 ...@@ -3,7 +3,7 @@ OpenHarmony为开发者提供了一套全面的自测试框架,开发者可根
本文从基础环境构建,用例开发,编译以及执行等方面介绍OpenHarmony测试框架如何运行和使用。 本文从基础环境构建,用例开发,编译以及执行等方面介绍OpenHarmony测试框架如何运行和使用。
## 基础环境构建 ## 基础环境构建
测试框架依赖于python运行环境,在使用测试框架之前可参以下方式进行配置。 测试框架依赖于python运行环境,在使用测试框架之前可参以下方式进行配置。
- [环境配置](../device-dev/device-test/xdevice.md) - [环境配置](../device-dev/device-test/xdevice.md)
- [源码获取](../device-dev/get-code/sourcecode-acquire.md) - [源码获取](../device-dev/get-code/sourcecode-acquire.md)
...@@ -119,7 +119,7 @@ subsystem # 子系统 ...@@ -119,7 +119,7 @@ subsystem # 子系统
{ {
// step 1:调用函数获取结果 // step 1:调用函数获取结果
int actual = Sub(4,0); int actual = Sub(4,0);
// Step 2:使用断言比较预期与实际结果 // Step 2:使用断言比较预期与实际结果
EXPECT_EQ(4, actual); EXPECT_EQ(4, actual);
} }
...@@ -132,7 +132,7 @@ subsystem # 子系统 ...@@ -132,7 +132,7 @@ subsystem # 子系统
2. 引用测试框架头文件和命名空间 2. 引用测试框架头文件和命名空间
``` ```
#include <gtest/gtest.h> #include <gtest/gtest.h>
using namespace testing::ext; using namespace testing::ext;
``` ```
3. 添加被测试类的头文件 3. 添加被测试类的头文件
...@@ -148,22 +148,22 @@ subsystem # 子系统 ...@@ -148,22 +148,22 @@ subsystem # 子系统
void SetUp(); void SetUp();
void TearDown(); void TearDown();
}; };
void CalculatorSubTest::SetUpTestCase(void) void CalculatorSubTest::SetUpTestCase(void)
{ {
// input testsuit setup step,setup invoked before all testcases // input testsuit setup step,setup invoked before all testcases
} }
void CalculatorSubTest::TearDownTestCase(void) void CalculatorSubTest::TearDownTestCase(void)
{ {
// input testsuit teardown step,teardown invoked after all testcases // input testsuit teardown step,teardown invoked after all testcases
} }
void CalculatorSubTest::SetUp(void) void CalculatorSubTest::SetUp(void)
{ {
// input testcase setup step,setup invoked before each testcases // input testcase setup step,setup invoked before each testcases
} }
void CalculatorSubTest::TearDown(void) void CalculatorSubTest::TearDown(void)
{ {
// input testcase teardown step,teardown invoked after each testcases // input testcase teardown step,teardown invoked after each testcases
...@@ -183,7 +183,7 @@ subsystem # 子系统 ...@@ -183,7 +183,7 @@ subsystem # 子系统
{ {
//step 1:调用函数获取结果 //step 1:调用函数获取结果
int actual = Sub(4,0); int actual = Sub(4,0);
//Step 2:使用断言比较预期与实际结果 //Step 2:使用断言比较预期与实际结果
EXPECT_EQ(4, actual); EXPECT_EQ(4, actual);
} }
...@@ -262,7 +262,7 @@ subsystem # 子系统 ...@@ -262,7 +262,7 @@ subsystem # 子系统
it("appInfoTest001", 0, function () { it("appInfoTest001", 0, function () {
//step 1:调用函数获取结果 //step 1:调用函数获取结果
var info = app.getInfo() var info = app.getInfo()
//Step 2:使用断言比较预期与实际结果 //Step 2:使用断言比较预期与实际结果
expect(info != null).assertEqual(true) expect(info != null).assertEqual(true)
}) })
...@@ -276,7 +276,7 @@ subsystem # 子系统 ...@@ -276,7 +276,7 @@ subsystem # 子系统
2. 导入被测api和jsunit测试库 2. 导入被测api和jsunit测试库
``` ```
import app from '@system.app' import app from '@system.app'
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
``` ```
3. 定义测试套(测试类) 3. 定义测试套(测试类)
...@@ -313,7 +313,7 @@ subsystem # 子系统 ...@@ -313,7 +313,7 @@ subsystem # 子系统
it("appInfoTest001", 0, function () { it("appInfoTest001", 0, function () {
//step 1:调用函数获取结果 //step 1:调用函数获取结果
var info = app.getInfo() var info = app.getInfo()
//Step 2:使用断言比较预期与实际结果 //Step 2:使用断言比较预期与实际结果
expect(info != null).assertEqual(true) expect(info != null).assertEqual(true)
}) })
...@@ -415,7 +415,7 @@ subsystem # 子系统 ...@@ -415,7 +415,7 @@ subsystem # 子系统
> - ohos_securitytest:安全测试 > - ohos_securitytest:安全测试
> - ohos_reliabilitytest:可靠性测试 > - ohos_reliabilitytest:可靠性测试
> - ohos_distributedtest:分布式测试 > - ohos_distributedtest:分布式测试
7. 对目标测试用例文件进行条件分组 7. 对目标测试用例文件进行条件分组
``` ```
...@@ -425,7 +425,7 @@ subsystem # 子系统 ...@@ -425,7 +425,7 @@ subsystem # 子系统
} }
``` ```
> **说明:** 进行条件分组的目的在于执行用例时可以选择性的执行某一种特定类型的用例。 > **说明:** 进行条件分组的目的在于执行用例时可以选择性的执行某一种特定类型的用例。
- **JavaScript用例编译配置示例** - **JavaScript用例编译配置示例**
``` ```
...@@ -811,6 +811,5 @@ reports/latest ...@@ -811,6 +811,5 @@ reports/latest
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册