提交 b9a996a7 authored 作者: mry's avatar mry

feat(doc): 执行器查询时加入了判断是否为当前项目的判断条件

上级 180fd3bf
...@@ -20,16 +20,39 @@ ...@@ -20,16 +20,39 @@
select * from kt_test_case c where c.project_id = 25 and c.des like '%会议室库管理%' select * from kt_test_case c where c.project_id = 25 and c.des like '%会议室库管理%'
``` ```
- 出现异常时,报告有可能生成不出来 - 出现异常时,报告有可能生成不出来(已解决)
- 执行记录中,log日志出现了长度过长而报错的问题(将kt_execution_record表中的log类型改成了longtext) - 执行记录中,log日志出现了长度过长而报错的问题(将kt_execution_record表中的log类型改成了longtext)
- - 使用中,测试添加接口时,出现过循环添加的情况,与添加前后置动作有关系。
### 2. 可以优化 ### 2. 可以优化
- 登录携带token,提取出来,统一使用,这样更方便。(目前动作中也存在需要token的) - 登录携带token,提取出来,统一使用,这样更方便。(目前动作中也存在需要token的)
- 尽量多一些默认选择,可以减少鼠标点击操作:
- 大部分情况下都会直接用swagger中的快速创建接口,所以可以优化为,直接跳到快速添加,如果需要空白的,在选择空白
- 执行器中,选择默认选择第一个环境,体验感会更佳
- 执行器,执行结束后,可以加入模糊查询(如果数据特别多的话,挨个找会很麻烦)
### 3. 使用情况
- 在会议室项目中,后置动作删除踢新增的会议可以成功,但是会议室库无法成功
- 对项目不了解时,使用比较坎坷
- 如果需要多个接口联调时,目前不方便
- 接口中掺杂着UI,无法测试
- 文件上传的测试,会议室中需要输入账号密码,这种情况目前无法实现自动测试(日程相关接口:上传会议资料)
- 会议室项目中有很多非常庞大的数据,有些接口就很慢,并且只能看到"[HTTP执行器] 本次发送请求无参数",在使用过程中可能认为卡住了,加入提示可能好一些
- 项目本身封装的返回值,可能出现都是成功,自动测试无法找到具体的判断条件(操作台-会后统计-两个饼接口)
- 修改会议状态(2.发布,4.结束)接口中,swagger测试时,可以修改,在自动测试项目中无法修改(无错误信息,正常运行)
- 获取当前会议的不过期二维码接口中,返回值是一张图片,自动测试项目无法返回图片(同样的还有文件下载之类)
- 动作中,删除的http行为无效,但是调用删除用例时,可以正常执行(项目无报错)
- 目前需要考虑的情况太多,比如新增要考虑到删除,修改要考虑先新增再修改再删除,删除要考虑新增才能不影响原数据(不然会存在清空数据的情况)
- cha接口,一直是失败,但是swagger可以查到(无报错)
- 执行器里,sql查询时,不知道需要查询的项目id时多少,这样会导致不知道sql语句如何写
### 3. 测试接口总结 ### 3. 测试接口总结
...@@ -37,7 +60,8 @@ todo ...@@ -37,7 +60,8 @@ todo
一共有多少个接口?多少可以进行接口测试? 一共有多少个接口?多少可以进行接口测试?
可以进行接口测试的接口用多少(给出一个大概百分比) 是可以使用 自动化测试平台测试的? 可以进行接口测试的接口用多少(给出一个大概百分比) 是可以使用 自动化测试平台测试的?
在测试的过程中,有哪些功能点可以进行优化? 在测试的过程中,有哪些功能点可以进行优化?
- 会议智能管理系统总接口数141个
- 会议智能管理系统总接口数141个,
需要测试的: 需要测试的:
......
...@@ -62,7 +62,17 @@ public class SqlController { ...@@ -62,7 +62,17 @@ public class SqlController {
@ApiOperation("递归地运行执行器中的sql") @ApiOperation("递归地运行执行器中的sql")
public ResponseEntity<List<Map<String, Object>>> runActuatorSql(@RequestBody runSqlQuery sqlQuery) { public ResponseEntity<List<Map<String, Object>>> runActuatorSql(@RequestBody runSqlQuery sqlQuery) {
List<Map<String, Object>> results = sqlActuator.runActuatorSqlRec(sqlQuery.getSql(), sqlQuery.getProjectId(), sqlQuery.getEnvId()); List<Map<String, Object>> results = sqlActuator.runActuatorSqlRec(sqlQuery.getSql(), sqlQuery.getProjectId(), sqlQuery.getEnvId());
try {
Object projectId = results.get(0).get("project_id");
if (projectId.equals(sqlQuery.getProjectId())) {
return ResponseEntity.ok(results); return ResponseEntity.ok(results);
} else {
throw new GlobalException("请查询当前项目");
}
}catch (IndexOutOfBoundsException e){
e.printStackTrace();
throw new GlobalException("请查询当前项目");
}
} }
/** /**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论