python自动化测试代码结果_Python自动化测试报表生成(1)--测试结果提取

文章信息

技术前提

本文提供了一种使用pyunit测试框架进行 判定类的测试 后,如何提取测试结果数据,并呈现出测试报告方法。

在进行本文后续工作之前,请读者保证自己具备如下能力:

会Python编程

能使用pyunit写 判定类测试

了解测试结果相关类和函数

主要内容

TextTestResult 结果中包含的如下内容:

errors 错误详细信息列表

failures 运行失败详细信息列表

skipped 跳过的详细信息列表

testsRun 运行的用例总数

TextTestResult内容

具体条目

以 failures为例子:

failures

本测试用例的描述:

编号索引为0的数据:

_testMethodName 测试函数名称

_testMethodDoc 测试函数的文档,这里面一般陈述本测试的功能

打印出来的堆栈错误信息:

编号索引为1的数据。

提取测试结果代码

通过加入:

测试执行时间

项目ID

项目版本号

def dict_encode_test_results(test_results, **kwargs):

"""

将测试结果进行json编码

:param test_results:

:type test_results: unittest.TestResult

:return:

"""

run_time = kwargs.get('run_time', None)

pro_id = kwargs.get('pro_id', None)

pro_version = kwargs.get('pro_version', None)

# 主体部分

res_dict = dict(

# was_successful=True if test_results.wasSuccessful() else False,

was_successful=test_results.wasSuccessful(),

total=test_results.testsRun,

failures=len(test_results.failures),

errors=len(test_results.errors),

skipped=len(test_results.skipped),

run_time=run_time,

pro_id=pro_id,

pro_version=pro_version

)

# 详细信息部分

failure_list = [] # 失败的内容

for x in test_results.failures:

note_data = {

'test_case': x[0]._testMethodName,

'explain': x[0]._testMethodDoc.rstrip('\n :return:'),

'status': 'failures',

'note': x[1]

}

failure_list.append(note_data)

for i in test_results.errors:

note_data = {

'test_case': i[0]._testMethodName,

'explain': i[0]._testMethodDoc.rstrip('\n :return:'),

'status': 'errors',

'note': i[1]

}

failure_list.append(note_data)

res_dict['details'] = failure_list

return res_dict

可以提到一个如下的字典对象:

test_res_dict = {

"pro_version": "1.16.10.10.1",

"was_successful": False,

"skipped": 2,

"errors": 1,

"failures": 1,

"pro_id": "57fa12ec47fc894ee04a2c69", # 在后台管理系统中组织信息详细信息里面可以查看到:项目ID

"total": 5,

"run_time": 51.772,

"details": [

{

"status": "failures",

"note": "AssertionError: 404 != 403 : gt不等于32位,返回404",

"explain": "只是用于测试的Demo,没有太多意义",

"test_case": "test_getfrontlib_gt_not32"

}

]

}

然后调用测试报告系统提供的API文档,即可将判定测试的结果上传到 测试报告系统服务器 数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值