netcopilot是一款帮助开发者进行网络模拟的工具,通过hdc命令行直接调用网络领航员接口,执行网络领航员请求,目前已支持预置场景场景调用和自定义场景调用。
netcopilot工具从API version 20开始支持。
在使用本工具前,开发者需要先获取hdc工具。
| 命令行参数 | 子参数 | 功能 | 说明 |
|---|---|---|---|
| -h | NA | 输出帮助信息 | NA |
| -e | 0关闭,1开启 | 开启/关闭领航员 | 关闭时其他接口不可用。 |
| -p | NA | 打印网络场景列表 | 默认会打印预置场景列表: 进出电梯 离家断开WLAN 到家连接WLAN 人员拥挤的饭堂 弱信号的地库 乘坐地铁 乘坐高铁(多SIM切换) 高速公路自驾 |
| -s | 场景id | 启动场景模拟 | 允许在不同场景间直接切换; 场景模拟需要满足对应网卡要求,进出电梯、离家断开WLAN、到家连接WLAN场景需要同时连接WLAN和蜂窝网络;其他场景需要连接WLAN或蜂窝网络。 |
| -c | 场景id | 取消场景模拟 | NA |
| -P | 场景id | 打印自定义场景详情 | 仅支持自定义场景。 |
| -a | 自定义场景详情 | 新增自定义场景 | 通过json字符串增加自定义场景,格式示例: { "scenarioName": "自定义场景", "uplinkBandwidth": 1000000, "downlinkBandwidth": 5000000, "uplinkLatency": 200, "downlinkLatency": 200, "uplinkDropRate": 0.05, "downlinkDropRate": 0.01 } |
| -d | 自定义场景id | 删除自定义场景 | 自定义场景id由网络领航员后端生成,通过-p查询列表获取id后,可以通过-d删除。 |
> hdc shell netcopilot -h netcopilot usage: -h : show help message -e <enable>: 0 for disable, 1 for enable -p : print all scenario info -s <scenario id>: simulate specified network scenario -c : cancel simulating scenario -P <scenario id>: print specified scenario details -a <custom scenario details>: add custom network scenario -d <scenario id>: delete custom network scenario
> hdc shell netcopilot -e 0 Disable netcopilot success > hdc shell netcopilot -e 1 Enable netcopilot success
> hdc shell netcopilot -p +------------+------------------------------+ | ScenarioID | ScenarioName | +------------+------------------------------+ 1 | 进出电梯 2 | 离家断开WLAN 3 | 到家连上WLAN 4 | 人员拥挤的饭堂 5 | 信号弱的地库 6 | 乘坐地铁 7 | 乘坐高铁(多SIM切换) 8 | 高速公路自驾 +------------+------------------------------+
> hdc shell netcopilot -a "{\"scenarioName\":\"自定义场景1\",\"uplinkBandwidth\":100000,\"downlinkBandwidth\":500000,\"uplinkLatency\":200,\"downlinkLatency\":200,\"uplinkDropRate\":0.05,\"downlinkDropRate\":0.01}"
自定义场景子参数需要转成json字符串。