ui自动化测试数据复原遇到的坑——1、hibernate输出完整sql
2024-10-12 19:16:22
公司老项目使用SSH+informix+weblogic+IE开发,我们要做ui自动化测试,其中的测试数据复原,我打算通过hibernate输出sql,然后把插入、更新的sql改为delete或update(大部分用delete就行,具体看sql),然后在每次自动化测试任务开始前执行这些sql。部署好项目到本地后,修改配置,但发现hibernate输出的只有预编译sql和对应的参数,这样大大增加了修改sql的难度。
查看代码,发现项目中使用p6spy框架拦截sql语句,但默认只能在spy.properties配置下图的红圈部分,而且不能自定义(我不需要输出select语句和resultset)。
在spy.properties如上图添加一个自定义的类,该类实现P6logger接口,实现logSQL方法
@Override
public void logSQL(int connectionId, String now, long elapsed, String category,
String prepared, String sql) {
if (!"resultset".equals(category)){
// 按指定模式在字符串查找
String regex = "^update.*|^insert.*|^delete.*";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(sql);
if (matcher.find()) {
System.out.println("【SQL】" + sql);
}
}
}
最新文章
- [leetcode]题型整理之用bit统计个数
- 覆盖的面积(HDU 1255 线段树)
- JavaEE基础(五)
- Python 字典(Dictionary)
- 深入浅出ES6(十):集合
- javadoc注释规范
- poj 1084 舞蹈链(纠结题)
- sql复制表数据的方法
- JavaScript 性能优化技巧分享
- k8s 各种网络方案 - 每天5分钟玩转 Docker 容器技术(170)
- [Swift]LeetCode168. Excel表列名称 | Excel Sheet Column Title
- Java 异常体系
- linux下安装部署ansible
- sql server中的全局变量,常用的没有多少...以后看看就行
- 在windows下使用jenkins部署docker容器
- Linux学习历程——Centos 7 man命令
- TCP3次握手和4次挥手及其为什么
- GUN WINDOW 工具
- Minimalist GNU for Windows
- LOJ#2170. 「POI2011」木棍 Sticks