开源源码,项目下载地址https://gitee.com/lowcode2/ailowcode.git
AI辅助开发和测试(IDEA插件)
AI辅助开发和测试功能,是通过开发一款AI低代码IDEA插件来实现。插件入口:IDEA主菜单/AI低代码/…,右击菜单/AI低代码/…。插件功能分:AI辅助开发和AI辅助测试。
AI辅助开发:通过调用AI接口获取系统基本信息,再通过源码模板,生成统一标准的源代码。AI辅助开发功能,由初始化系统、逆向生成代码和添加字段3个子菜单组成,子菜单功能如下:
-
- 初始化系统:是通过输入一个系统名称,由AI自动生成系统模型和数据库表,然后通过逆向工具技术生成前后端代码。
- 逆向生成代码:是数据库已存在表的情况下,通过输入表名,然后通过逆向工具技术生成表对应的前后端代码。
- 添加字段:是在插件页面输入新增加的字段信息,一方面向数据库表自动添加字段,另一方面在对应的类文件中添加字段相关代码。
AI辅助测试:通过调用AI接口获取测试对象基本信息,再通过系统处理,生成测试用例,提供API接口测试使用。AI辅助测试由接口测试和API按组批量测试2个子菜单组成,子菜单功能如下:
- 接口测试:是通过右击需要测试的控制类方法,点击右击菜单中接口测试子菜单,打开接口测试对话框。接口测试中可以通过AI自动生成测试用例,然后通过HTTP调用接口完成测试。
- API按组批量测试:是对保存的接口信息进行分组批量执行。详细使用方法见后续介绍。
(一)操作手册
1. IDEA插件安装
1)安装方法
插件文件路径:项目目录/aicodefile/plugin/ailowcode-plugin-1.1.zip,安装方法:
1)打开IDEA settings窗口,点击Plugins菜单,选择从磁盘安装“Install Plugin from Disk…”,选择ailowcode-plugin-1.1.zip文件,如下图所示:
2)安装完成后,确保一下Installed标签页面中插件AILowcode已安装完成,并且是勾中状态,最后,重启IDEA。重新打开IDEA后,工具栏会多出来一个菜单:AI低代码,则表示安装成功。
提示:
在IntelliJ IDEA中,Settings的位置取决于操作系统。
如何打开Settings窗口?
Windows/Linux: 点击左上角的
File
菜单,然后选择Settings
。macOS: 从菜单栏中选择
IntelliJ IDEA
,然后选择Preferences
。
2)AI辅助开发和测试插件生成源码涉及的配置文件说明
IDEA辅助开发和测试插件依赖的文件信息:/ailowcode/aicodefile/*,如下图所示。plugin目录下存放的是IDEA辅助开发和测试的插件安装文件(可本地直接安装)。template目录下存放的是源码生成模板,其中java目录是后端源码生成模板,vue目录是前端源码生成模板,test目录是开发测试使用的模板(仅测试用)。/tastcase/single/目录是单个接口测试报告存放目录。/tastcase/group/目录是API按组批量测试报告存放目录。aicode.properties是IDEA插件运行使用的AI辅助开发配置文件。
AI辅助开发配置文件:IDEA插件在执行时需要调用AI接口、连接数据库、源码生成模板等,相关配置信息配置在配置文件中,配置文件路径:/项目根目录/aicodefile/aicode.properties,如下所示:
1. #baidu qian fan
2. client_id = xxxxxx
3. client_secret = xxxxxx
4. api_url = https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-......
5.
6. # jdbc
7. jdbcDriver = com.mysql.cj.jdbc.Driver
8. jdbcUrl = jdbc:mysql://127.0.0.1:3309/db_lowcode?......
9. username = ……
10. password = ……
11.
12. # 前端文件存放目录
13. outputVueDirProj = /lowcode2-ui
14. # 后端文件存放目录
15. outputJavaDirProj = /lowcode2/flow
16. javaDir=/src/main/java
17. packagePath=/com/wxy/ej/flow/modules
18. contextPath=flow
19. module=sap
20.
21. # 源码生成模板结构说明
22. #前端vue模板,会在路径后创建一个表实例对象的目录
23. ftlVue=[\
24. {"ftl":"/template/vue/list.vue.ftl", "suffixPath":"list.vue", "fullPath":""},\
25. ......
26. ]
27. #后端java模板
28. ftlJava=[\
29. {"ftl":"/template/java/dto.java.ftl", "codeLastPath":"dto","suffixPath":"%sDto.java", "fullPath":""},\
30. ......
31. ]
32. #后端资源文件xml模板
33. ftlXml=[\
34. {"ftl":"/template/java/mapper.xml.ftl", "suffixPath":"%sMapper.xml", "fullPath":""},\
35. ]
36.
37. #自定义模板; 当isCreateEntityDir=true时,会在路径后创建一个表实例对象的目录
38. ftlAny=[\
39. {"ftl":"/template/test/test.java.ftl", "isCreateEntityDir":false, "suffixPath":"%sTest.java", \
40. ......
41. ]
42.
43. # AI提问模板:系统结构
44. question_structure=你是一位数据库设计师......
45.
46. # AI提问模板:表sql
47. question_table=你是一个数据库设计师......
48.
49. ### 单元测试 ##############################
50. host_testCase = http://127.0.0.1:9900/flow
51. # AI提问模板:测试用例
52. question_testCase=你是一名软件测试工程师......
AI辅助开发配置文件(aicode.properties)各项说明,如下表所示:
配置字段名称 |
说明 |
百度千帆(AI) |
|
client_id |
对应千帆的API KEY |
client_secret |
对应千帆的Secret Key |
api_url |
百度千帆API调用地址 |
数据库连接(JDBC) |
|
jdbcDriver |
Jdbc驱动 |
jdbcUrl |
Jdbc地址 |
username |
连接用户名 |
password |
连接密码 |
源码生成目录及相关配置 |
|
outputVueDirProj |
前端项目目录地址 |
outputJavaDirProj |
后端项目目录地址 |
javaDir |
Java包路径 |
packagePath |
代码生成的包地址 |
contextPath |
微服务名称 |
module |
当前生成的项目模块名称 |
源码生成模板 |
|
ftlVue |
前端vue模板 |
ftlJava |
后端java模板 |
ftlXml |
后端资源文件xml模板 |
ftlAny |
自定义模板 |
AI提问模板:生成源码 |
|
question_structure |
AI提问模板:系统结构 |
question_table |
AI提问模板:表sql |
AI提问模板:单元测试 |
|
host_testCase |
AI提问模板:主机信息 |
question_testCase |
AI提问模板:测试用例 |
- 提示:
1,百度千帆的API KEY和Secret Key获取方法,参考附录1“百度千帆大模型接入使用方法”。
2,有时配置文件修改后,系统还没有生效,这时重启IDEA试试。
2. AI辅助开发-初始化系统
场景:直接输入系统名称,由AI分析系统结构,最后通过内置模板生成系统相应的前后端源代码。
菜单:IDEA主菜单/AI低代码/初始化系统,如下图所示。
1)打开初始化系统对话框,默认打开“步骤1”标签,在该标签页输入:系统名称和表名前缀,点击发送,AI将自动分析生成系统结构。生成的数据,显示在下方的输出框,支持编辑,可人工完善优化,如下图所示。
2)点击打开步骤2标签,点击生成模型脚本,系统将自动与AI交互,生成数据库的建表脚本,同时生成插入测试数据脚本。生成的数据,显示在下方的输出框,支持编辑,可人工完善,如下图所示。
3)点击打开步骤3标签,分别点击执行模型脚本、生成源码和生成菜单按钮,各步骤执行记录,如下图所示。各步骤含义如下:
- 执行模型脚本:执行步骤2生成脚本,生成数据库表,并插入测试数据;
- 生成源码:根据源码生成模板,生成前后端源代码;
生成菜单:向系统中插入菜单,刷新系统页面,可发现多出一个主菜单。
4) AI辅助开发初始化系统,执行“模型脚本”按钮,生成的数据库表如下所示。
5)AI辅助开发初始化系统,执行“生成源码”按钮,生成的前、后端源码如下图所示。后端源码生成在flow微服务项目中,重启flow微