修复 jsonpath 校验结果为 false 时校验异常的问题

This commit is contained in:
caiweichao 2024-11-28 10:27:44 +08:00
parent deb9db92cc
commit 9cafc8ea05
2 changed files with 9 additions and 7 deletions

View File

@ -11,6 +11,7 @@
- 建议Python 版本 >= 3.9
- **希望各位大佬多多 star**
- ![img.png](readme_img/111.png)
### 项目目录简介
1. [config](config) --> 存放配置文件
@ -52,6 +53,7 @@
10. [docker-compose.yml](docker-compose.yml) --> docker-compose
### 框架特色功能介绍
1. 支持 api用例 和 UI用例 的集成
2. ui 用例执行步骤染色功能,明确展示出来被操作元素
1. ![img_4.png](readme_img/img_4.png)
@ -64,6 +66,7 @@
6. 可以支持 jenkins 持续集成看后面的参考文档或者提issue
7. 持续集成主入口[main.py](main.py),可以在 jenkins 上配置并发,环境,执行指定 mark不用修改代码
8. [config.yaml](config%2Fconfig.yaml)通过 global 配置,在本地运行时切换环境
### 安装方式(本地运行)
1. 拉取项目安装requirements.txt中的包
@ -109,14 +112,14 @@ python3 jenkins_report.py || true
![img_3.png](readme_img/img_7.png)
3. 代码中配置selenium grid地址
4. 在 [conftest.py](test_case%2Fconftest.py) 修改配置
```
# 将 ip 修改为你自己的服务器 ip 后面的端口号和地址不用改动
driver = webdriver.Remote(command_executor='http://127.0.0.1:5444/wd/hub', options=option)
```
3. 自此当你在 jenkins 上运行测试时,用例会自动分发到你创建的 selenium grid 上。
#### 备注
1. 不用自己安装chromedriver 会自动读取浏览器版本进行安装(会有点慢,如果不行可以写死 dirver 地址或者或尝试几次)

View File

@ -14,10 +14,9 @@ from util.customize_exception import AnalysisError
def analysis_json(json, json_path_rule: str):
try:
value = jsonpath(json, json_path_rule)[0]
Log.info(f"jsonpath解析的结果为:{value}")
if value:
return value
if jsonpath(json, json_path_rule):
Log.info(f"json解析结果为{jsonpath(json, json_path_rule)[0]}")
return jsonpath(json, json_path_rule)[0]
else:
raise AnalysisError(f"json解析异常解析规则:{json_path_rule}")
except TypeError: