前言
批量執(zhí)行完用例后,生成的測試報告是文本形式的,不夠直觀,為了更好的展示測試報告,最好是生成HTML格式的。
unittest里面是不能生成html格式報告的,需要導(dǎo)入一個第三方的模塊:HTMLTestRunner
一、導(dǎo)入HTMLTestRunner
1.這個模塊下載不能通過pip安裝了,只能下載后手動導(dǎo)入,下載地址:http://tungwaiyip.info/software/HTMLTestRunner.html
2.Download下HTMLTestRunner.py文件就是我們需要下載的包。
3.下載后手動拖到python安裝文件的Lib目錄下
二、demo解析
1.下載Download下的第二個文件test_HTMLTestRunner.py,這個就是官方給的一個測試demo了,從這個文件可以找到該模塊的用法。
2.找到下圖這段,就是官方給的一個demo了,test_main()里上半部分就是加載測試case,我們不需要搞這么復(fù)雜。
3.最核心的代碼是下面的紅色區(qū)域,這個就是本篇的重點啦。
三、生成html報告
1.我們只需把上面紅色區(qū)域代碼copy到上一篇的基礎(chǔ)上稍做修改就可以了,這里主要有三個參數(shù):
--stream:測試報告寫入文件的存儲區(qū)域
--title:測試報告的主題
--description:測試報告的描述
2.report_path是存放測試報告的地址
四、測試報告詳情
1.找到測試報告文件,用瀏覽器打開,點開View里的Detail可以查看詳情描述。
2.為了生成帶中文描述的測試用例,可以在case中添加注釋,如在test_01的腳本添加如下注釋:
class Test(unittest.TestCase):
??? def setUp(self):
??????? print "start!"
??? def tearDown(self):
??????? time.sleep(1)
??????? print "end!"
??? def test01(self):
??????? u'''測試登錄用例,賬號:xx 密碼xx'''
??????? print "執(zhí)行測試用例01"
??? def test03(self):
??????? u'''測試登搜索用例,關(guān)鍵詞:xxx'''
??????? print "執(zhí)行測試用例03"
3.重新運行后查看測試報告
五、參考代碼:
1.我下面的代碼文件路徑用的相對路徑,這樣就避免代碼換個地址找不到路徑的情況了
# coding:utf-8
import unittest
import os
import HTMLTestRunner
# python2.7要是報編碼問題,就加這三行,python3不用加
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# 用例路徑
case_path = os.path.join(os.getcwd(), "case")
# 報告存放路徑
report_path = os.path.join(os.getcwd(), "report")
def all_case():
discover = unittest.defaultTestLoader.discover(case_path,
pattern="test*.py",
top_level_dir=None)
print(discover)
return discover
if __name__ == "__main__":
# runner = unittest.TextTestRunner()
# runner.run(all_case())
# html報告文件路徑
report_abspath = os.path.join(report_path, "result.html")
fp = open(report_abspath, "wb")
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
title=u'自動化測試報告,測試結(jié)果如下:',
description=u'用例執(zhí)行情況:')
# 調(diào)用add_case函數(shù)返回值
runner.run(all_case())
fp.close()
最后感謝每一個認(rèn)真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
軟件測試面試小程序
被百萬人刷爆的軟件測試題庫?。。≌l用誰知道!??!全網(wǎng)最全面試刷題小程序,手機(jī)就可以刷題,地鐵上公交上,卷起來!
涵蓋以下這些面試題板塊:
1、軟件測試基礎(chǔ)理論 ,2、web,app,接口功能測試 ,3、網(wǎng)絡(luò) ,4、數(shù)據(jù)庫?,5、linux
6、web,app,接口自動化 ,7、性能測試?,8、編程基礎(chǔ),9、hr面試題 ,10、開放性測試題,11、安全測試,12、計算機(jī)基礎(chǔ)
文章來源:http://www.zghlxwxcb.cn/news/detail-702626.html
這些資料,對于【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!文章來源地址http://www.zghlxwxcb.cn/news/detail-702626.html
到了這里,關(guān)于【Selenium2+python】自動化unittest生成測試報告的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!