HTMLTestRunner 为什么用PyCharm(Eclipse)执行测试成功但无法生成报告
? ? ? 在使用unittest+selenium進(jìn)行自動(dòng)化測(cè)試的時(shí)候,預(yù)期輸出自動(dòng)化測(cè)試報(bào)告,但是始終無(wú)法在指定package中輸出report.html的報(bào)告。但是如果把生成report.html單獨(dú)寫進(jìn)一個(gè)用于生成報(bào)告的report模塊中,又可以生成報(bào)告。
在代碼塊中直接運(yùn)行如下代碼,檢查代碼無(wú)誤的情形下,就無(wú)法生成HTMLTestRunner的報(bào)告。
if __name__ == '__main__':suite = unittest.TestSuite()suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestBaiDu))report = REPORT_PATH + '\\report.html'#report = os.path.join(REPORT_PATH,'\\report.html')with open(report, 'w') as f:runner = HTMLTestRunner(stream=f,title='MathFunc Test Report',description='generated by HTMLTestRunner.',verbosity=2)runner.run(suite)通過加上打印的信息,可知test_search_0和test_search_1確實(shí)成功運(yùn)行了,但是沒有report.html報(bào)告
其實(shí)這是編輯器搞得鬼,編輯器為了方便用戶執(zhí)行測(cè)試,都有一項(xiàng)功能,可以用編輯器來(lái)調(diào)用unittest或者nose來(lái)執(zhí)行測(cè)試用例,這種情況下,執(zhí)行的只是用例或者套件,而不是整個(gè)文件,寫在main里的代碼是不會(huì)被執(zhí)行的!!自然無(wú)法生成測(cè)試報(bào)告
因此給出如下解決方法:
1、在PyCharm界面的右上角,打開“Edit Configurations...”
刪除之后就不會(huì)運(yùn)行unittest,一般這樣就可以解決無(wú)法生成html報(bào)告的問題了,如果不行
2、添加一個(gè)運(yùn)行方式
填寫需要運(yùn)行的的腳本的路徑到Scripts path
發(fā)現(xiàn)此時(shí)在指定目錄下可以生成html報(bào)告,但是代碼中有兩個(gè)測(cè)試用例的
但是對(duì)比該報(bào)告和report模塊下生成的報(bào)告,這里卻只執(zhí)行了一個(gè)測(cè)試用例。請(qǐng)指教
總結(jié)
以上是生活随笔為你收集整理的HTMLTestRunner 为什么用PyCharm(Eclipse)执行测试成功但无法生成报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中__name == '__
- 下一篇: 自动化测试框架搭建-邮件-5