首页
/ ReportPortal中实现模糊搜索功能的API使用指南

ReportPortal中实现模糊搜索功能的API使用指南

2025-07-07 05:25:22作者:郜逊炳

在实际使用ReportPortal进行测试报告管理时,经常需要根据特定条件筛选测试执行记录。标准的精确匹配查询(如filter.eq.name=)虽然能满足基础需求,但在处理动态生成的构建名称时,往往需要更灵活的模糊搜索功能。

精确匹配与模糊搜索的区别

精确匹配查询使用filter.eq.前缀,要求字段值必须完全匹配查询条件。例如:

filter.eq.name={test-name}

这种方式适合已知完整名称的场景。

模糊搜索则使用filter.cnt.前缀("cnt"代表contains),允许匹配包含特定子字符串的记录。例如:

filter.cnt.name={partial-name}

这种查询方式特别适用于以下场景:

  • 构建ID是动态生成的(如包含时间戳)
  • 只记得名称的部分关键字
  • 需要批量查询具有相同前缀/后缀的记录

实际应用场景

在持续集成环境中,构建名称通常包含版本号、时间戳等动态元素。例如:

build-20250210-1234
build-20250210-5678

使用模糊搜索可以轻松查询当天所有构建:

filter.cnt.name=20250210

使用建议

  1. 性能考虑:模糊搜索会比精确匹配消耗更多资源,建议配合其他条件缩小结果集
  2. 大小写敏感:当前实现是大小写敏感的,需注意查询条件的大小写
  3. 特殊字符处理:如果名称包含特殊字符,可能需要额外的转义处理
  4. 组合查询:可以与其他过滤条件组合使用,如:
    filter.cnt.name=20250210&filter.eq.status=PASSED
    

实现原理

ReportPortal的API层将filter.cnt.转换为后端的LIKE查询,在数据库层面执行模式匹配。这种设计既保持了API的简洁性,又提供了必要的灵活性。

随着测试数据量的增长,合理使用模糊搜索功能可以显著提高测试报告的分析效率。建议团队在编写自动化测试脚本时就考虑命名规范,以便后续更好地利用这些查询功能。

登录后查看全文
热门项目推荐
相关项目推荐