1## P2P测试使用说明文档 2 3 本文档主要介绍Wifi专项测试程序的P2p部分(@ohos.wifi.d.ts)的功能使用说明。 4 5### 从主界面跳转到P2P部分 6 7 8 9#### setting界面 10 11点击"switch"按钮 ,设置本设备的wifi参数配置。 12 13 14 15p2p配置信息: 16 17>#### WifiP2PConfig 表示P2P配置信息 18> 19>| 名称 | 类型 | 默认值设置 | 说明 | 20>| :-----------: | :----------------: | :---------------: | :----------------------------------------------------- | 21>| deviceAddress | string | 6c:96:d7:3d:87:6f | 设备地址。 | 22>| netId | number | -2 | 网络ID。创建群组时-1表示创建临时组,-2表示创建永久组。 | 23>| passphrase | string | 12345678 | 群组密钥。 | 24>| groupName | string | testGroup | 群组名称。 | 25>| goBand | **GroupOwnerBand** | 0 | 群组带宽。 | 26> 27> 28> 29>#### GroupOwnerBand 表示群组带宽的枚举 30> 31>| 名称 | 值 | 说明 | 32>| :----------- | :--- | :--------- | 33>| GO_BAND_AUTO | 0 | 自动模式。 | 34>| GO_BAND_2GHZ | 1 | 2GHZ。 | 35>| GO_BAND_5GHZ | 2 | 5GHZ。 | 36> 37> 38> 39>| **参数名** | **类型** | 默认值设置 | **必填** | **说明** | 40>| :--------: | :------: | :----------: | :------: | :--------: | 41>| devName | string | MyTestDevice | 是 | 设备名称。 | 42 43 44 45#### P2P(@ohos.wifi.d.ts)的主要接口 46 47| method名称 | API名称 | 所需参数 | 返回值 | 备注 | 48| :------------------------------: | :-------------------------: | :---------------------: | :----------------------------------------: | :--: | 49| 获取P2P连接信息,promise | getP2pLinkedInfo(promise) | () | Promise<WifiP2pLinkedInfo> | | 50| 获取P2P连接信息,callback | getP2pLinkedInfo(callback) | () | callback: AsyncCallback<WifiP2pLinkedInfo> | | 51| 获取P2P当前组信息,promise | getCurrentGroup(promise) | () | Promise<WifiP2pGroupInfo> | | 52| 获取P2P当前组信息,callback | getCurrentGroup(callback) | () | callback: AsyncCallback<WifiP2pGroupInfo> | | 53| 获取P2P对端设备列表信息,promise | getP2pPeerDevices(promise) | () | Promise<WifiP2pDevice[]> | | 54| 获取P2P对端设备列表信息,callback | getP2pPeerDevices(callback) | () | callback: AsyncCallback<WifiP2pDevice[]> | | 55| 创建群组 | createGroup | (config: WifiP2PConfig) | boolean | | 56| 移除群组 | removeGroup | () | boolean | | 57| 执行P2P连接 | p2pConnect | (config: WifiP2PConfig) | boolean | | 58| 取消P2P连接 | p2pCancelConnect | () | boolean | | 59| 开始发现设备 | startDiscoverDevices | () | boolean | | 60| 停止发现设备 | stopDiscoverDevices | () | boolean | | 61| 删除永久组 | deletePersistentGroup | (netId: number) | boolean | | 62| 设置设备名称 | setDeviceName | (devName: string) | boolean | | 63| 注册P2P开关状态改变事件 | on.p2pStateChange | | callback: Callback<number> | | 64| 注册P2P连接状态改变事件 | on.p2pConnectionChange | | callback: Callback<WifiP2pLinkedInfo> | | 65| 注册P2P设备状态改变事件 | on.p2pDeviceChange | | callback: Callback<WifiP2pDevice> | | 66| 注册P2P对端设备状态改变事件 | on.p2pPeerDeviceChange | | callback: Callback<WifiP2pDevice[]> | | 67| 注册P2P永久组状态改变事件 | on.p2pPersistentGroupChange | | callback: Callback<void> | | 68| 注册发现设备状态改变事件 | on.p2pDiscoveryChange | | callback: Callback<number> | | 69| | | | | | 70 71 72 73#### 返回值介绍 74 75> ## WifiP2pLinkedInfo 提供WLAN连接的相关信息。 76> 77> | 名称 | 类型 | 可读 | 可写 | 说明 | 78> | :------------: | :-----------------: | :--: | :--: | :-----------: | 79> | connectState | **P2pConnectState** | 是 | 否 | P2P连接状态。 | 80> | isGroupOwner | boolean | 是 | 否 | 是否是群主。 | 81> | groupOwnerAddr | string | 是 | 否 | 群组MAC地址。 | 82> 83> 84> 85> #### P2pConnectState 表示P2P连接状态的枚举 86> 87> | 名称 | 值 | 说明 | 88> | :----------- | :--- | :--------- | 89> | DISCONNECTED | 0 | 断开状态。 | 90> | CONNECTED | 1 | 连接状态。 | 91> 92> 93> 94> #### WifiP2pGroupInfo 表示P2P群组相关信息 95> 96> | 名称 | 类型 | 可读 | 可写 | 说明 | 97> | :------------ | :------------------ | :--- | :--- | :------------------- | 98> | isP2pGo | boolean | 是 | 否 | 是否是群主。 | 99> | ownerInfo | **WifiP2pDevice** | 是 | 否 | 群组的设备信息。 | 100> | passphrase | string | 是 | 否 | 群组密钥。 | 101> | interface | string | 是 | 否 | 接口名称。 | 102> | groupName | string | 是 | 否 | 群组名称。 | 103> | networkId | number | 是 | 否 | 网络ID。 | 104> | frequency | number | 是 | 否 | 群组的频率。 | 105> | clientDevices | **WifiP2pDevice[]** | 是 | 否 | 接入的设备列表信息。 | 106> | goIpAddress | string | 是 | 否 | 群组IP地址 | 107> 108> 109> 110> #### WifiP2pDevice 表示P2P设备信息 111> 112> | 名称 | 类型 | 可读 | 可写 | 说明 | 113> | :---------------- | :------------------ | :--- | :--- | :------------ | 114> | deviceName | string | 是 | 否 | 设备名称。 | 115> | deviceAddress | string | 是 | 否 | 设备MAC地址。 | 116> | primaryDeviceType | string | 是 | 否 | 主设备类型。 | 117> | deviceStatus | **P2pDeviceStatus** | 是 | 否 | 设备状态。 | 118> | groupCapabilities | number | 是 | 否 | 群组能力。 | 119> 120> 121> 122> #### P2pDeviceStatus 表示设备状态的枚举 123> 124> | 名称 | 值 | 说明 | 125> | :---------- | :--- | :----------- | 126> | CONNECTED | 0 | 连接状态。 | 127> | INVITED | 1 | 邀请状态。 | 128> | FAILED | 2 | 失败状态。 | 129> | AVAILABLE | 3 | 可用状态。 | 130> | UNAVAILABLE | 4 | 不可用状态。 | 131 132 133 134#### 测试功能 135 136**"创建群组"是其他功能测试的前提** 137 1381. 获取P2P连接信息 getP2pLinkedInfo(promise/callback) 139 140 - 使用指导:获取有关 P2P 连接的信息。 141 142 - 限制条件:p2p已经连接,返回p2p连接信息 143 144 - 验证方法:可调用其他接口查看p2p连接信息 145 146 147 1482. 获取P2P当前组信息 getCurrentGroup(promise/callback) 149 150 - 使用指导:获取有关当前组的信息。 151 152 - 限制条件:p2p创建组,返回当前组信息 153 154 - 验证方法:可调用其他接口查看创建组的信息 155 156 157 1583. 获取P2P对端设备列表信息 getP2pPeerDevices(promise/callback) 159 160 - 使用指导:获取有关找到的设备的信息。 161 162 - 限制条件:p2p有对端设备,返回找到的设备列表 163 164 - 验证方法:可调用其他接口查看对端设备的列表信息 165 166 167 1684. 创建群组 createGroup 169 170 - 使用指导:创建一个 P2P 组。 171 172 - 限制条件:创建组的配置参数 (config: WifiP2PConfig) 都正确 173 174 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false};可调用其他接口查看群组的情况 175 176 177 1785. 移除群组 removeGroup 179 180 - 使用指导:删除一个 P2P 组。 181 182 - 限制条件:已经成功创建过组 183 184 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false};可调用其他接口查看群组的情况 185 186 187 1886. 执行P2P连接 p2pConnect 189 190 - 使用指导:启动与具有指定配置的设备的 P2P 连接 191 192 - 限制条件:用于连接到特定组的配置参数(config: WifiP2PConfig)都正确 193 194 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false} 195 196 197 1987. 取消P2P连接 p2pCancelConnect 199 200 - 使用指导:取消 P2P 连接 201 202 - 限制条件:已经P2P连接成功过 203 204 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false} 205 206 207 2088. 开始发现设备 startDiscoverDevices 209 210 - 使用指导:发现 Wi-Fi P2P 设备 211 212 - 限制条件:无 213 214 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false} 215 216 217 2189. 停止发现设备 stopDiscoverDevices 219 220 - 使用指导:停止发现 Wi-Fi P2P 设备 221 222 - 限制条件:已经开始发现过设备 223 224 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false} 225 226 227 22810. 删除永久组 deletePersistentGroup 229 230 - 使用指导:删除具有指定网络 ID 的持久 P2P 组 231 232 - 限制条件:用于删除永久组的配置参数(netId: number)表示要删除的组的网络 ID 233 234 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false} 235 236 237 23811. 设置设备名称 setDeviceName 239 240 - 使用指导:设置Wi-Fi P2P设备的名称 241 242 - 限制条件:用于设置设备名称的配置参数(devName:string) 表示要设置的名称 243 244 - 验证方法:查看返回信息,如果操作成功,则返回 {true},否则返回 {false} 245 246 247 24812. 订阅/取消订阅注册P2P开关状态改变事件 ( on/off.p2pStateChange ) 249 250 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 251 252 - 限制条件:需要在相关类型事件发生改变前,开启监听。 253 254 > 注册状态变化: 255 > 256 > - 订阅P2P 状态更改时报告的事件。 257 > 258 > - type为要侦听的P2P 状态更改事件的类型。 259 > 260 > 261 > - callback回调用于侦听P2P 状态更改事件。 262 263 - 若本地p2p空闲,返回值为1,显示信息为"idle"; 264 - 若本地p2p正在打开,返回值为2,显示信息为"starting"; 265 - 若本地p2p已打开,返回值为3,显示信息为"started"; 266 - 若本地p2p正在关闭,返回值为4,显示信息为"closing"; 267 - 若本地p2p已关闭,返回值为5,显示信息为"closed"; 268 269 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 270 271 272 27313. 订阅/取消订阅注册P2P连接状态改变事件 ( on/off.p2pConnectionChange ) 274 275 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 276 277 - 限制条件:需要在相关类型事件发生改变前,开启监听。 278 279 > 注册状态变化: 280 > 281 > - 订阅P2P 连接更改时报告的事件。 282 > 283 > - type为要侦听的P2P 连接更改事件的类型。 284 > 285 > 286 > - callback回调用于侦听P2P 连接更改事件。 287 288 - 返回WifiP2pLinkedInfo 289 290 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 291 292 293 29414. 订阅/取消订阅注册P2P设备状态改变事件 ( on/off.p2pDeviceChange ) 295 296 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 297 298 - 限制条件:需要在相关类型事件发生改变前,开启监听。 299 300 > 注册状态变化: 301 > 302 > - 订阅P2P 本地设备更改时报告的事件。 303 > 304 > - type为要侦听的P2P 本地设备更改事件的类型。 305 > 306 > 307 > - callback回调用于侦听P2P 本地设备更改事件。 308 309 - 返回WifiP2pDevice 310 311 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 312 313 314 31515. 订阅/取消订阅注册P2P对端设备状态改变事件 ( on/off.p2pPeerDeviceChange ) 316 317 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 318 319 - 限制条件:需要在相关类型事件发生改变前,开启监听。 320 321 > 注册状态变化: 322 > 323 > - 订阅P2P 对等设备更改时报告的事件。 324 > 325 > - type为要侦听的P2P 对等设备更改事件的类型。 326 > 327 > 328 > - callback回调用于侦听P2P 对等设备更改事件。 329 330 - 返回WifiP2pDevice[] 331 332 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 333 334 335 33616. 订阅/取消订阅注册P2P永久组状态改变事件 ( on/off.p2pPersistentGroupChange ) 337 338 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 339 340 - 限制条件:需要在相关类型事件发生改变前,开启监听。 341 342 > 注册状态变化: 343 > 344 > - 订阅P2P 持久组更改时报告的事件。 345 > 346 > - type为要侦听的P2P 持久组更改事件的类型。 347 > 348 > 349 > - callback回调用于侦听P2P 持久组更改事件。 350 351 - 返回 void 352 353 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 354 355 356 35717. 订阅/取消订阅注册发现设备状态改变事件 ( on/off.p2pDiscoveryChange ) 358 359 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 360 361 - 限制条件:需要在相关类型事件发生改变前,开启监听。 362 363 > 注册状态变化: 364 > 365 > - 订阅P2P 发现时报告的事件。 366 > 367 > - type为要侦听的P2P 发现事件的类型。 368 > 369 > 370 > - callback回调用于侦听P2P 发现事件。 371 372 - 若本地p2p发现失败,返回值为0,显示信息为"initial state"; 373 - 若本地p2p发现成功,返回值为1,显示信息为"discovery succeeded"; 374 375 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 376