pytest写入excel
时间: 2023-09-04 13:08:07 浏览: 172
对于使用pytest框架进行测试的情况,可以使用openpyxl库将测试结果写入Excel文件中。
首先需要在pytest的配置文件`pytest.ini`中添加一个自定义的选项,用于指定结果文件的路径和名称:
```
[pytest]
addopts = --result_file=result.xlsx
```
然后在测试文件中,可以使用`pytest_runtest_makereport` hook函数来获取每个测试用例的结果,并将结果写入Excel文件中。示例代码如下:
```python
import openpyxl
# 打开结果文件
result_file = "result.xlsx"
wb = openpyxl.load_workbook(result_file)
ws = wb.active
def pytest_runtest_makereport(item, call):
# 获取测试结果
outcome = yield
rep = outcome.get_result()
# 将结果写入Excel文件
row = ws.max_row + 1
ws.cell(row=row, column=1, value=item.nodeid)
ws.cell(row=row, column=2, value=rep.outcome)
ws.cell(row=row, column=3, value=rep.duration)
wb.save(result_file)
```
这段代码会在每个测试用例执行完成后被调用,将测试用例的名称、结果和执行时间写入Excel文件中。注意,需要在测试用例执行前打开Excel文件并获得工作表对象,代码中使用`openpyxl.load_workbook`和`wb.active`来实现。
阅读全文