新增UI测试模块,MeterSphere一站式开源持续测试平台发布v1.20 LTS版本

发布于 2022年05月05日

2022年5月5日,MeterSphere一站式开源持续测试平台正式发布v1.20 LTS版本。这是继2021年5月发布v1.10 LTS版本后,MeterSphere开源项目发布的第二个LTS(Long Term Support)版本。

MeterSphere开源项目组将对MeterSphere v1.20 LTS版本用户提供长期支持,在主线功能版本的基础之上,按需发布LTS版本的问题修复更新,为用户提供更加稳定和高质量的软件使用体验。

MeterSphere v1.20 LTS版本深入践行“一站式持续测试平台”的设计理念,新增了UI测试模块(X-Pack增强包内),实现了对测试跟踪、接口测试、UI测试和性能测试的一站式覆盖。

至此,MeterSphere开源持续测试平台已经完整提供测试跟踪、接口测试、UI测试、性能测试,以及团队协作与融入DevOps五大核心功能。而在经历了20个版本的持续迭代后,MeterSphere开源项目组对MeterSphere v1.20 LTS版本的系统性能进行深度优化,软件运行稳定性显著提升,将为广大用户提供更加稳定和流畅的使用体验。

MeterSphere v1.20 LTS版本在功能性的上升级包括:在测试跟踪模块,MeterSphere新增测试计划“已归档”状态,同时支持批量运行测试计划功能;在接口测试模块,场景自动化支持多数据源环境平滑切换,以及新增自定义“误报库”匹配逻辑功能;在系统设置模块,增加项目级别的配额管理功能

MeterSphere v1.20 LTS版本在系统性能优化方面的工作包括:在测试计划执行效率方面,优化了入库存储机制以及执行节点轮询算法,以满足企业大数据量且高频率的自动化测试执行需求;对页面表格组件的针对性优化,重点解决了关联大批量测试用例的页面卡顿现象,有效提升批量处理列表数据的响应速度。

新增功能

■ 新增UI测试模块(X-Pack增强包内)

MeterSphere UI测试模块的设计理念是基于POM(Page Object Model)页面对象模型,将页面定位和业务操作分开,分离了测试对象和测试脚本,以解决前端UI变化频繁导致测试脚本维护成本高的问题。在具体实现上,我们选用了Selenium这一使用最广泛的开源浏览器自动化方案,并且支持直接导入Selenium IDE中的测试脚本。

MeterSphere的UI测试模块包含元素库、UI自动化、测试报告三大部分。

元素库:集中管理页面元素,实现“一处维护,处处运行”;

UI自动化:“搭积木”式的场景编排能力,复用性强,有效提升脚本编写效率;

测试报告:可视化的运行报告,提供执行日志、错误截图,有效提升问题定位以及分析效率。

■ 新增测试计划“已归档”状态

MeterSphere v1.20 LTS版本中针对测试计划状态新增了“已归档“状态标签,用户可以通过更新状态对处理完的测试计划进行归档管理,测试计划列表默认展示未归档的测试计划。

■ 新增自定义“误报库”匹配逻辑功能(X-Pack增强包内)

在用户实际测试的过程中,可能会遇到一些因网络异常、环境未就绪等非应用原因导致的失败。针对这些特殊情况,MeterSphere v1.20 LTS版本增加了误报标记功能,用户可以根据自身需求配置自己的误报库规则,当请求结果与某条误报规则匹配时便会被标记为“误报”状态。

在MeterSphere v1.20 LTS版本中,我们对请求同时包含多个断言结果的处理方案进行了开放式处理,用户可以根据自身需要对误报结果进行升级(处理为失败)和降级(处理为成功)处理。

除了上述提到的新增功能外,MeterSphere v1.20 LTS版本还包含很多其他功能的新增和优化,欢迎进入MeterSphere项目的官方文档及GitHub仓库的Release页面,查看更加详细的更新日志。

功能优化

■ 测试跟踪:新增批量运行测试计划功能;

■ 测试跟踪:测试用例页面的UI优化,方便自定义字段更好地展示;

■ 测试跟踪:测试计划执行效率优化;

■ 测试跟踪(X-Pack增强包内):第三方平台缺陷支持全量同步;

■ 接口测试:接口定义创建新版本时支持复制Case和Mock数据;

■ 接口测试:接口自动化切换运行环境支持多数据源平滑切换(数据源名称需一致);

■ 接口测试:接口自动化创建定时任务增加运行环境校验;

■ 接口测试:接口调试响应速度优化;

■ 接口测试(X-Pack增强包内):MQTT Sub支持匹配消息内容结束接收;

■ 系统设置:邮件设置增加指定发件人功能;

■ 系统设置:新增项目级别的配额管理。

Bug修复

■ fix(测试跟踪):修复通过功能用例模板上传的用例(标签中含有换行)会导致用例名称和内容是空的的问题(GitHub #12826);

■ fix(测试跟踪):修复MQTT接口自动化中修改步骤名字后,点击调试和下拉小箭头,修改内容不生效的问题(GitHub #12457);

■ fix(测试跟踪):修复“多个功能测试用例关联同一个场景C,其他用例关联场景用例时可见重复的场景C”的问题(GitHub #12708);

■ fix(测试跟踪):修复对接禅道企业版时,缺陷模板中自定义字段的末尾如果有空格会导致此自定义字段无法传递给禅道的问题(GitHub #12367);

■ fix(测试跟踪):修复脑图新增标题后,点击“保存”按钮,在设置为用例后多次点击“保存”按钮,新增的用例出现丢失的问题(GitHub #12143);

■ fix(接口测试):Postman导入的API中,如果在Path中包含有变量,导入后在Path中存在“${xx}",修改成“{xx}”后无法编辑。本版本对该问题加以修复(GitHub #13042) ;

■ fix(接口测试):修复Swagger 2.0的脚本导入到MeterSphere后,响应内容状态码显示错误的问题(GitHub #13037);

■ fix(接口测试):修复添加用例至公共用例库后,对用例库中该用例进行编辑并保存时公共用例库中添加的用例被自动移除的问题(GitHub #13004);

■ fix(接口测试):修复CSV文件内引号获取不准确的问题(GitHub #12920);

■ fix(接口测试):修复Mock完成设置后执行,响应结果不是Mock设置里响应结果的问题(GitHub #12899);

■ fix(接口测试):修复MeterSphere v1.19.3版本中,断言的启动和关闭按钮保存后未生效的问题(GitHub #12904);

■ fix(接口测试):编辑使用接口用例时,ESB格式的TCP请求参数显示不全的问题(GitHub #12778);

■ fix(性能测试):修复单接口用例转换为性能测试用例时,请求统计中的用例名称建议显示为原单接口用例名称的问题(GitHub #11743);

■ fix(系统设置):修改脑图模式编写的用例,保存成功后查看操作日志记录异常的问题(GitHub #12099)。