要实现每次测试完成时生成测试记录并写入Excel表格,您可以结合使用Python的pandas
库来处理数据和openpyxl
库来写入Excel。以下是一个简单的示例:
首先,确保已安装所需库:
bash
pip install pandas openpyxl
接着,编写如下Python脚本,用于处理测试结果并写入Excel:
python
import pandas as pd
from openpyxl import Workbook
def write_test_result_to_excel(test_result, excel_path='test_records.xlsx'):
# 定义测试结果字典结构
test_result_dict = {
'Test Name': test_result['test_name'],
'Result': 'Pass' if test_result['result'] else 'Fail',
'Failure Reason': test_result.get('failure_reason', '')
}
# 将测试结果字典转换为Series
test_series = pd.Series(test_result_dict)
# 如果Excel文件不存在,创建一个新的
if not pd.read_excel(excel_path, engine='openpyxl').empty:
# 读取现有Excel文件内容
df = pd.read_excel(excel_path, engine='openpyxl')
# 将新测试结果追加到DataFrame末尾
df = df.append(test_series, ignore_index=True)
else:
# 创建一个新的DataFrame,包含当前测试结果
df = pd.DataFrame([test_series])
# 将DataFrame写回Excel文件
with pd.ExcelWriter(excel_path, engine='openpyxl', mode='a') as writer:
df.to_excel(writer, index=False, sheet_name='Test Records')
# 示例测试结果
test_result = {
'test_name': 'Test_1',
'result': True,
'failure_reason': '' # 若测试成功,此字段留空或不提供
}
# 调用函数,将测试结果写入Excel
write_test_result_to_excel(test_result)
在这个示例中:
-
定义了一个名为
write_test_result_to_excel
的函数,接受一个测试结果字典作为参数。测试结果字典包含test_name
(测试名称)、result
(测试结果,布尔值)和failure_reason
(失败原因,仅在结果为False时提供)。 -
将测试结果字典转换为Pandas的Series对象。
-
检查Excel文件是否存在。如果存在,读取其内容并追加新的测试结果;否则,创建一个新的DataFrame包含当前测试结果。
-
使用
pd.ExcelWriter
将更新后的DataFrame写回到Excel文件(以追加模式mode='a'
打开),确保每次测试结果都能被正确添加到表格中。
每当有新的测试完成时,只需调用write_test_result_to_excel
函数,传入相应的测试结果字典即可将测试记录写入到指定的Excel文件中。记得根据实际需求调整excel_path
参数。