# PyCharm运行Hypium项目报错“测试用例的设备条件不满足”或者“required device does not exist”如何解决

#### 问题现象

cmd命令行可以连接到设备，UiViewer也可以连接设备。但是执行用例出现如下报错信息：

*   提示“Test source required 1 devices, actually 0 devices were found \[Suggestions\]测试用例的设备条件不满足”。
    
*   提示“required device does not exist”。
    

#### 背景知识

DevEco Testing Hypium以下简称（Hypium）是HarmonyOS平台的UI自动化测试框架，支持开发者使用python语言为应用编写UI自动化测试脚本。

#### 问题定位

*   检查本地设备实际是否存在、系统环境变量OHOS\_HDC\_SERVER\_PORT的hdc端口配置。
*   检查当前user\_config.xml中是否设置了设备的sn，设备的sn是否实际存在。
*   检查用例的json文件请求的设备类型type字段是否正确。
*   检查json中请求的设备label类型是否正确。

#### 分析结论

如果“hdc list targets”命令查询到设备，但Hypium框架运行报错设备未连接，排查以下原因：

*   系统环境变量OHOS\_HDC\_SERVER\_PORT配置的hdc端口非默认端口8710。
*   当前user\_config.xml设置的设备sn不存在。
*   用例的json文件type字段与当前设备不匹配。
*   用例的json文件设备label字段与当前设备不匹配。

#### 修改建议

*   将OHOS\_HDC\_SERVER\_PORT环境变量删除后重启PyCharm。
*   user\_config.xml文件sn不设置或者修改为当前设备sn，type类型和label类型按实际使用设备配置正确。
    
*   用例的json文件type类型配置正确。
    
    如下图所示，该用例请求了两个设备，一个为HarmonyOS设备，一个为其他平台设备。
    
*   用例的json文件设备label类型配置每个设备对应的设备类型。如果用例可以在任何设备上运行，label字段不需要填。
    
    | label类型 | 设备 |
    | --- | --- |
    | phone | 手机 |
    | car | 车机 |
    | tv | 电视 |
    | watch | 手表 |
    | tablet | 平板 |
    | 2in1 | PC |
    

#### 常见FAQ

Q：如何获取对应的设备类型？

A：通过hdc命令

```
hdc shell param get const.product.devicetype
```