接口自动化之测试报告

Posted weizhideweilai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化之测试报告相关的知识,希望对你有一定的参考价值。

写好脚本后,需要生成一个测试报告

 

目录

1、安装htmlTestRunner

 

 

1、安装HTMLTestRunner

第一步:下载后,放入lib中,下载链接:https://pan.baidu.com/s/1_e6mIgPFzu24k1Q3wbOJ9w 密码:e6nw

技术分享图片

第二步:导入试试,没报错就没问题

技术分享图片

2、应用

在run_all.py文件中,

第一步:我们可以调用discover方法,来找到所有的用例

技术分享图片

如图:discover方法,需要传入3个参数,第一个参数start_dir,查找测试用例路径;第二个参数pattern,匹配规则;第三个参数top_level_dir,测试模块的顶层目录,如果没有顶层目录,默认为None

#找到所有用例
#用例路径 case_path="D:\\test001\\labledemo" def all_case(): discover=unittest.defaultTestLoader.discover(case_path, "test*.py") return discover

  

第二步:调用HTMLTestRunner中的方法,来生成报告

调用HTMLTestRunner方法,给定参数的值,第一个参数stream,查找测试报告路径;第二个参数title,html文件的title;第三个参数description,用例的执行情况标题 

    #将生成的报告写入文件
    fp=open(report_path,"wb")  #写测试报告
  
    runner= HTMLTestRunner.HTMLTestRunner(stream=fp,
                                          title=u‘这是我的报告‘,
                                          description=u‘用例执行情况‘)


    runner.run(all_case()) #调用run方法,执行
    fp.close()  #关闭,以免影响内存

  

完整代码如下:

import HTMLTestRunner
import unittest

#用例路径
case_path="D:\\test001\\labledemo"
#报告存放路径
report_path="D:\\test001\\report\\result.html"

def all_case():
    discover=unittest.defaultTestLoader.discover(case_path,
                                                 "test*.py")
    return discover
        
if __name__=="__main__":
    fp=open(report_path,"wb")  #写测试报告
  
    runner= HTMLTestRunner.HTMLTestRunner(stream=fp,
                                          title=u‘这是我的报告‘,
                                          description=u‘用例执行情况‘)
    runner.run(all_case()) #调用run方法,执行
    fp.close()  #关闭,以免影响内存

 第四步:优化

调用os和sys的一些方法,让代码自己找用例,和生成报告的位置

import os
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)

# 用例路径
case_path = os.path.join(os.getcwd(), "case")
# 报告存放路径
report_path = os.path.join(os.getcwd(), "report")

 完整代码:

import HTMLTestRunner
import unittest
import os
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)

#用例路径
# case_path="D:\\test001\\labledemo"
case_path=os.path.join(os.getcwd(),"case")
#报告存放路径
# report_path="D:\\test001\\report\\result.html"
report_path=os.path.join(os.getcwd(),"report")
def all_case():
    discover=unittest.defaultTestLoader.discover(start_dir=case_path,
                                                 pattern="test*.py",
                                                 top_level_dir=None)

    return discover

if __name__=="__main__":
    fp=open(report_path,"wb")
    runner= HTMLTestRunner.HTMLTestRunner(stream=fp,
                                          title=u‘这是我的报告‘,
                                          description=u‘用例执行情况‘)
    runner.run(all_case())
    fp.close()

  

 


以上是关于接口自动化之测试报告的主要内容,如果未能解决你的问题,请参考以下文章

Python接口自动化之执行测试用例的几种方法

RobotFramework之接口自动化流程测试

Python接口测试之对MySQL/unittest框架/Requests 的操作

python自动化之(自动化测试报告)

Pytest 可视化测试报告之 Allure

Flask 编写http接口api及接口自动化测试