BeautifulReport和HTMLTestRunner测试报告的使用

目录

生成BeautifulReport篇 ​测试报告

生成HTMLTestRunner篇 测试报告


背景
测试人员不光光是保证自己的版本没问题,所有发现的bug都解决了就可以,测试人员还兼职着要每天要在群里上报测试进度、测试报告、测试可能风险和提高团队对软件的信心等等,其中测试报告就是一项很重要的工作内容,因为产品不懂代码,测试经理懂代码但是没时间看,所以我么们的自动化测试需要有可视化的界面来展示我们的测试结果,以下即为我编写的可视化报告理解。
目的
把我们的测试结果可视化,使测试经理和产品经理或者运营能一眼看到我们的测试结果(测试用例数,测试成功率,如有失败因有具体的失败原因)
多说一句:
我们在企业中的报告都弄得很精美,代码也些得很严谨,但是在企业上的东西不能上传,代码也不能暴露出去,所以本篇使用开源的系统,写的有点简单,目的不在精美和封装上,在于beautifulReport和HTMLTestRunner的使用方式上。


BeautifulReport篇 

概念解释:
suite:即测试套件,也叫测试集,用于装测试用例(add方法或者使用加载器进行加载),把自己需要运行的用例装进测试集,然后运行,导出测试报告。
loader:即加载器,用于把测试用例,测试类,或者模块,或者通过discover进行加载
        一般都用discover,因为方便,节约时间
testcase:测试用例,由业务和断言组成,UI自动化里一般会设置setup和teardown,用于进行用例执行前和用例执行后的操作。已发现问题的或者尚未能实现的用两个可以设置skip跳过

 测试用例需要自己准备好,如下为简单用例的例子,可直接使用也可替换为自己的用例

import unittest
class Haha(unittest.TestCase):
    def test_01(self):
        assert True,"非True"
    def test_o2(self):
        self.assertEqual(1,1,msg='两者不相等')
if __name__ == '__main__':
    unittest.main()

HTML文件使用浏览器打开就可查看测试报告了,
测试未通过的可点击展开查看测试失败原因。

具体的代码如下

#coding:utf-8
from HTMLTestRunner import HTMLTestRunner
import os
import time
import unittest
from BeautifulReport import  BeautifulReport
from RequestUnittestDDT.testcases import testsuite, cases
from RequestUnittestDDT.testcases.cases import login_test
from RequestUnittestDDT.testcases.cases.login_test import Login
def run_testsuite():
    #虚号为其它不同的方式,企业中使用直接选择一种方式就好了
    #此方法为BeautifulReport的测试报告
    suite = unittest.TestSuite()
    runner = unittest.TextTestRunner()
    loader = unittest.TestLoader()
    loader = unittest.defaultTestLoader
    # suite = loader.loadTestsFromTestCase(Login)
    suite = loader.loadTestsFromModule(login_test)
    # suite = loader.loadTestsFromTestCase(cases)
    suite = loader.discover(r'./testcases//testsuite',pattern='*_test.py')#把用例加载到测试套件里面
    result = BeautifulReport(suite)    
    result.report(filename='登录测试报告_BeautifulReport',description="江云的测试报告",
    report_dir=r'D:\software\interface\python_project\RequestUnittestDDT\report')
    # runner.run(suite)
if __name__ == '__main__':
    run_testsuite()

HTMLTestRunner篇


要使用HTMLTestRunner测试报告,需要先下载HTMLTestRunner.py(从我这下载的文件适用于python3,网络上很多的都是只能用于python2,有些鸡肋,我的则不同,可直接适用于python3)放入python目录的lib文件夹里面,然后python代码里面import导入即可使用了。
链接: https://pan.baidu.com/s/1AgxB2df7AYhc1pSLR8xG2w?pwd=5986 提取码: 5986

 测试用例需要自己准备好,如下为简单用例的例子,可直接使用也可替换为自己的用例

import unittest
class Haha(unittest.TestCase):
    def test_01(self):
        assert True,"非True"
    def test_o2(self):
        self.assertEqual(1,1,msg='两者不相等')
if __name__ == '__main__':
    unittest.main()

HTML文件使用浏览器打开就可查看测试报告了
只要全部是绿色的就OK了,如果不慎冒红了,可点击详情查看原因,
也可python代码里debug进行分析。

具体的代码如下

#coding:utf-8
from HTMLTestRunner import HTMLTestRunner
import os
import time
import unittest
from BeautifulReport import  BeautifulReport
from RequestUnittestDDT.testcases import testsuite, cases
from RequestUnittestDDT.testcases.cases import login_test
from RequestUnittestDDT.testcases.cases.login_test import Login

def runcases():
    #此方法为HTMLTestRunner的测试报告
    now = time.strftime('%Y-%m-%d %H-%M-%S')
    report_file ='./report\\'+now+'去flights页面测试报告_HTMLTestRunner.html'
    loader = unittest.defaultTestLoader
    suites = loader.discover(r'./testcases//cases',pattern='*_test.py')
    #打开文件,有则打开,没有则新建
    fp = open(report_file,'wb')
    runner = HTMLTestRunner(fp, verbosity=2,title=u'江云的测试报告',description=u'用例执行情况:')
    runner.run(suites)



if __name__ == '__main__':
    runcases()

可视化测试报告篇结束,欢迎到我主页预览其它篇章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值