【发布时间】:2021-05-03 22:18:12
【问题描述】:
我有一个赛普拉斯自动化测试的文本日志文件。文件名 cypress_tests.txt 日志文件出现如下格式,示例如下所示
2021-05-08T14:04:24.6661291Z Spec Pass Fail Pending Skipped
2021-05-08T14:04:24.6662575Z ┌────────────────────────────────────────────────────┐
2021-05-08T14:04:24.6762664Z │ √ chart-color 00:10 1 - - - │
2021-05-08T14:04:24.6763156Z │ s.spec.ts │
2021-05-08T14:04:24.6763941Z ├────────────────────────────────────────────────────┤
2021-05-08T14:04:24.6764594Z │ √ charts.spec 00:10 1 - - - │
2021-05-08T14:04:24.6765313Z │ .ts │
2021-05-08T14:04:24.6765791Z ├────────────────────────────────────────────────────┤
2021-05-08T14:04:24.6766445Z │ √ enterprise- 00:05 - 1 - - │
2021-05-08T14:04:24.6767007Z │ model.spec.ts │
2021-05-08T14:04:24.6914477Z └────────────────────────────────────────────────────┘
2021-05-08T14:04:24.6915160Z √ All specs passed! 00:15 2 1 - -
我想将此文本文件导入我本地安装的 Elasticsearch 并为其编制索引。我想搜索通过和失败的测试数量,包括测试用例名称。然后我可以使用 Kibana 可视化构建条形图。
当我使用 Add Data import csv 选项将文本文件导入 Elasticsearch 并创建索引时,给它一个索引名称
索引字段模式如下图所示。
在 Elasticsearch Discover 中,从下拉列表中选择日志文件,然后它会在左侧显示可用字段。 id, index, timestamp 有一个字段叫message。 在消息字段中,它显示了日志文件中的所有数据,所有通过的规格,通过和失败测试的数量,例如,通过列的总数为 82,失败列为 75。一切都在消息字段中。截图如下
我如何解析日志文件以映射像 82 这样的字段将 Pass 列(从上面的示例日志屏幕截图中它将是值 2),chart-colous.spec.ts 是规范列? 下面截图中的 75 用于 Fail 列
如果无法做到,我是否需要告诉我们自动化框架的所有者更改测试结果写入日志文件的方式?
非常感谢任何帮助和指导。谢谢。
【问题讨论】:
标签: elasticsearch logstash kibana filebeat