使用python3.6 编写解析robotframework log的方法
时间: 2024-05-06 17:16:27 浏览: 91
Python3+Robot Framework+RIDE
可以使用Python中的re(正则表达式)模块来解析Robot Framework的日志文件。下面是一个简单的示例代码,可以提取出日志中的关键信息:
```python
import re
def parse_robot_log(log_file):
with open(log_file, 'r') as f:
log = f.read()
# 提取测试用例总数、通过数、失败数和耗时
total_cases = re.search(r'Total\s*:\s*(\d+)', log).group(1)
passed_cases = re.search(r'Passed\s*:\s*(\d+)', log).group(1)
failed_cases = re.search(r'Failed\s*:\s*(\d+)', log).group(1)
elapsed_time = re.search(r'Elapsed time:\s*(.*)', log).group(1)
# 提取失败用例的详细信息,包括用例名称、失败原因和堆栈信息
failed_case_pattern = r'(\d+)\)\s*(.*)\s+\.\.\.\s+(FAIL|ERROR):\s+(.*)\n(.*)(?=\d+\))'
failed_cases_info = re.findall(failed_case_pattern, log, re.DOTALL)
# 将结果返回
return {
'total_cases': total_cases,
'passed_cases': passed_cases,
'failed_cases': failed_cases,
'elapsed_time': elapsed_time,
'failed_cases_info': failed_cases_info
}
```
该函数接受一个Robot Framework的日志文件名作为参数,并返回一个字典,包含测试用例总数、通过数、失败数、耗时和失败用例的详细信息。你可以根据需要来扩展该函数,以提取出其他你感兴趣的信息。
阅读全文