Skip to content

Releases: TommyLemon/UnitAuto

新增 Python 版; 升级 Go 版

优化 Go 版;自动深度测试;解决 bug;优化体验

14 May 15:20
Compare
Choose a tag to compare

Java

更新 jar 包;

Go

新增支持 mock 各种 Struct 的成员变量,包括组合等复杂自定义对象;
调整回调结构;
不返回 return, methodArgs 的空值;
解决部分参数类型获取失败;
优化代码和注释;

Admin

随机与顺序测试:在用例列表项新增统计结果;
兼容各种简单传参写法;
兼容 Go 等语言的 多返回类型、指针 等场景;
针对 Go 设置默认用例;
前后对比新增支持深入数组子项;
机器学习测试:新增支持值重复断言,可通过前后置脚本 JSONResponse.COMPARE_VALUE_REPEAT = 1 或 2 开启;
Node:支持 CORS 跨域;新增 /test/compare 前后对比断言接口 和 /test/ml 机器学习断言接口,可脱离 UI 使用;

解决有时导入报错;
解决参数注入回归完后父项列表页顶部不显示统计结果;
前后置脚本:解决不能恢复本地保存的脚本;
解决查询配置列表分页数量不是 0 时没有查询数据;
解决部分子项执行报错导致中断回归测试;
解决零代码回归测试 切换机器学习和前后对比/调整分页/搜索等筛选条件 后断言报告统计数量翻倍;
解决切换前后结果 字段 code, throw 位置不一致;
Headless 无 UI 后台测试:解决 Vue 版本兼容问题、document.cookie 报错 document undefnied;
快捷键:解决有时 target = null 导致异常;

随机与顺序测试:在没有上传过对比标准时使用默认参数对应的 response 和 standard,也能比较精准地断言;
优化错误处理提示的体验;
// 注释前 2 个空格改为 1 个;
去掉通过代理执行 SQL 时浏览器加的 HTTP Header;
优化日志性能;

文档

新增支持的 Kotlin 版本说明;

新增关于新增测试用例 4 种方式的说明文档
https://github.com/TommyLemon/UnitAuto/blob/master/README.md#%E6%96%B0%E5%A2%9E%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B
image

常见问题新增 5.如何统计行覆盖率/分支覆盖率?
https://github.com/TommyLemon/UnitAuto/blob/master/README.md#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
image

新增 Go 版; Mock Java 复杂对象

16 Mar 15:04
Compare
Choose a tag to compare

Go:

新增 Go 版,支持 同步、异步 Func/Mehod,支持基本类型和自定义 Struct, Interface 等:
https://github.com/TommyLemon/UnitAuto/tree/master/UnitAuto-Go
image
image
还有单独的仓库 unitauto-go,单独发版:
https://github.com/TommyLemon/unitauto-go/releases

Java:

新增支持 mock 各种对象的成员变量,包括继承、嵌套等复杂自定义对象;
image

Admin:

新增自动智能补全、环境对比测试、前置与后置脚本等功能;

解决静态检查回调方法报错格式不对;
注释符 // 前空格改为 1 个;
同步前端代码到 Demo;

后台测试; 快捷键; 优化代码和体验; 升级依赖; 解决 bug; 完善文档 等

15 Feb 16:33
Compare
Choose a tag to compare

Java

抽取结合 SpringBoot 的 SDK 为 UnitAuto-SpringBoot-SDK;
升级 unitauto-java 2.8.0, unitauto-jar 2.8.0, unitauto-springboot 2.8.1, fastjson 1.2.83, classgraph 4.8.146, SpringBoot 2.5.13, 自身 2.8.1;
解决 @type 设置的类型最终丢失,解决序列化后丢失原有键值对顺序,解决有全局回调的方法调用后返回字段缺少 code 和 msg;

Admin

从 APIAuto 同步 Headless 模式 Node 环境无 UI 测试、回归测试完继续深度测试等功能;
从 APIAuto 同步 快捷键、loading 动画、静态检查错误红色高亮 等功能和优化;
演示 Demo 使用真实数据,方便调试参数注入(随机与顺序测试);
解决不能注册、修改密码、获取验证码;回归测试断言在没有校验标准时判断默认非空字段 data 改为 return;
解决同步和上次 方法/函数 文档的默认请求参数错误以及上传时缺少 class 字段导致失败;

Android

升级 gradle build tool 7.1.2;
优化 IP 地址获取和显示;
解决获取移动流量对应的 IPV4 错误;
删除多余文件;

其它

用户新增快手广告,分享新增质效无双线上技术访谈;
新增 远程扫描方法、远程调用方法 的说明文档;
新增关联项目 SQLAuto-智能零代码数据库功能测试;
新增 Jenkins、蓝盾 等 CI/CD 等流水线触发执行用例和查询进度的说明;
UnitAuto, SQLAuto 等 APIAuto 衍生项目提 issue 集中到 APIAuto;
完善关于作者信息;

相关更新见
https://github.com/TommyLemon/unitauto-java/releases/tag/2.8.0
https://github.com/TommyLemon/unitauto-jar/releases/tag/2.8.0
https://github.com/TommyLemon/unitauto-springboot/releases/tag/2.8.0
https://github.com/alibaba/fastjson/releases/tag/1.2.83
https://github.com/classgraph/classgraph/releases/tag/classgraph-4.8.146

微信/支付宝 回调与支付方法分离;统计覆盖率

10 Apr 17:35
Compare
Choose a tag to compare

Java:

listMethod 由 class-method 两层结构改为 package-class-method 三层结构,并新增支持统计数量;
新增支持 微信/支付宝等在 Android/iOS/Window 上的 OpenSDK 回调与支付方法分离的情况;
Demo 内置 UnitAuto-Admin,方便测试;
Demo 升级 SpringBoot 至 2.4.2;
打包新的 unitauto-2.7.2.jar 和 unitauto-jar-2.7.2.jar;
升级 UnitAuto 及相关 Demo 版本至 2.7.2,升级 fastjson 版本至 1.2.79;
删除多余的文件;
image
image

MySQL:

更新表文件;

Admin:

新增支持统计 包、类、方法 的覆盖率;
解决 SQL 数量超限导致查不到包和类;
优化包和类文档显示;
暂时屏蔽分享链接功能;
image
(注:目前数据库未按项目区分,导致多个项目的总数统计为一个项目的,部分覆盖率超过 100%,后续加 project/groupId/artifactId 字段来解决)

Android:

升级 UnitAuto, fastjson 等版本;
更新 UnitAutoDemo.apk;
image

新增支持集合类型嵌套;管理端新增预览请求、模拟回包、分享链接等

19 Oct 21:05
Compare
Choose a tag to compare
2.6.3

升级版本号为 2.6.3;升级 fastjson 至 1.2.74

新增趋势分析、异常分支、耗时分析;新增超时和线程设置;其它各种优化等

21 Feb 19:08
Compare
Choose a tag to compare

Admin:

机器学习零代码测试:新增调用方法耗时的前后对比与展示;
机器学习零代码测试:新增趋势分析和异常分支;
新增支持 timeout 和 ui 字段;
自动静态检查支持 reuse, timeout, mock, ui 等字段;

登录及登录状态下刷新网页后自动显示测试用例;
文档列表记住最后操作的项并高亮;
优化搜索框宽度和默认配置;
默认不隐藏路径;
调整视频教程的链接;
修改链接中 APIJSON/APIJSON 为 Tencent/APIJSON;
新增腾讯开源的 Logo;
调整发送请求按钮的 UI;
删除多余的文件;

Java:

记录并返回前后时间点和执行耗时;
新增 Long timeout 参数支持设置执行超时时间;
打包 unitauto-2.5.2.jar 和 unitauto-jar-2.5.2.jar 并更新 pom.xml 中的版本号;

Androird:

新增 /download 接口;
新增 Boolean ui 字段支持指定是否在 UI 线层执行;
解决 SharedPreferences.Editor 写入后没有及时 commit 导致未实际生效;

MySQL:

更新表;

文档:

替换 Android 客户端 Demo App 的下载地址为 GitHub 上的;

重构 Java 和 Android 的 Demo

01 Nov 17:49
Compare
Choose a tag to compare

Java:

新增简单示例 UnitAuto-Java-Demo;
UnitAuto-Jar 中 MethodUtil 重构为 UnitAutoApp 与 UnitAuto-Apk 统一;
打包 unitauto-2.5.0.jar 和 unitauto-jar-2.5.0.jar;
删除 Demo/UnitAuto-Java-SpringBoot;

Android:

最外层新增 UnitAuto-Android 这个简单 Demo;
UnitAuto-Apk 移到 UnitAuto-Android 目录;
完善获取 Fragment 实例;
优化测试界面 UnitAutoActivity 的 UI 和交互;
支持不显示界面时也能在手机系统后台测试;
适配 Java 7 及以下版本;

解决获取不到栈底的 Activity;
解决 View 等类因为内部持有 Context 等环境变量导致 toJSONString 异常;
解决部分项目依赖 UnitAuto-Apk 导致 gradle 编译报错;
升级 fastjson 为 1.2.74;
优化代码;
删除 Demo/UnitAuto-Android;
删除最外层多余的 gradle 相关文件;

Admin

文档与注释:调整默认配置;
调整标题和默认注释;

MySQL:

更新表;

其它

新增集成被测项目的说明;
完善和优化项目介绍等其它说明;

新增支持 mock 被测类本身 和 获取 Enum, Annotation, 单例模式类 的实例

27 Oct 18:21
Compare
Choose a tag to compare

Java

新增支持单例模式类等不能通过构造方法 new 出实例的类;
新增支持 mock 被测类本身;
新增支持获取 Enum 的实例;
新增支持获取 @interface 对应注解 Annotation 的实例;
测试类全都从 UnitAuto-Java-SpringBoot 迁移到 UnitAuto-Java 且优化命名;
打包 unitauto-2.4.0.jar 和 unitauto-jar-2.4.0.jar;

Admin

自动化随机测试:

解决编辑失败,解决 http:// 后面被当成注释而截断,解决随机配置列表底部被遮挡;
解决上传时自动生成的随机配置中 count, page 等分页字段还是用原来的 ' : ' 导致运行随机配置报错;

账号与登录:

解决某些情况下不能自动填充默认账号及密码;

自动生成文档:

新增根据 host 和 userId 来过滤;
调整删除按钮的位置;
优化代码;

自动化随机配置:

解决上传用户后没有自动生成随机配置;

机器学习测试:

新增支持自定义获取类实例的方法名 constructor 和被测对象实例 this;
解决上传用例后自动生成的校验标准中 methodArgs 没有从数组改为对象;

文档与注释:

用例新增展示详情注释,调整项目说明;
解决上传的文档没有生成参数信息;
优化注释的判断及说明,兼容更多场景;

MySQL:

更新表;

支持环境相关等各种复杂类型的构造;包名分隔符用 . 替代 /

13 Sep 17:04
Compare
Choose a tag to compare

Admin:
package 等路径用 . 代替 / 来分割;
优化自动化测试结果的按钮点击区域,上下空隙防误触;

Java:
package 等路径用 . 代替 / 来分割;
支持自定义 class newInstance;
优化参数的类型格式;
解决有 环境/上下文 等类型参数只能用 null 或 {} 来模拟;
解决没有 public 构造方法的类无法 mock;

Apk:
支持 Context, Activity, Window, SharedPreferences 等更多类型 newInstance;
解决调用部分方法报错不在 UI 线程;

Android:
解决环境相关的类型会导致对应的实例复制给 Object 等非环境类型从而引发的 JSON 序列化错误;

MySQL:
更新表

其它:
更新文档