python3自動化測試-使用BeautifulReport生成視覺化測試報告
阿新 • • 發佈:2020-08-13
1、獲取 BeautifulReport 包
BeautifulReport,git地址:
https://github.com/TesterlifeRaymond/BeautifulReport
1)如果自己電腦上安裝了git,可以直接使用git命令克隆到本地指定目錄下
git clone https:
/
/
github.com
/
TesterlifeRaymond
/
BeautifulReport
2)如果沒有安裝git,直接在git上下載BeautifulReport.ZIP ,解壓到到本地python的的/Lib/site-packages/目錄下
3)修改BeautifulReport.py的2個地方
2、使用BeautifulReport,生成報告
1 #coding=utf-8 2 ''' 3 Created on 2020年8月13日 4 5 @author: Administrator 6 7 Descriptions: execute testcases 8 ''' 9 import unittest 10 import os, datetime 11 from BeautifulReport import BeautifulReport 12 from tools.sendmail import SendMail 13 from config importconf 14 15 root_dir = os.path.dirname(os.path.abspath(__file__)).replace('\\', '/') 16 test_dir = root_dir + '/testcases'#測試用例所在的目錄 17 report_dir = root_dir + '/testreport'#存放測試報告的目錄 18 19 discover = unittest.defaultTestLoader.discover(test_dir, 'login_testcase.py', None) 20 now = datetime.datetime.now().strftime('%Y-%m-%d %H_%M_%S') 21 filename = '測試報告' + str(now) 22 BeautifulReport(discover).report(description='測試', filename=filename, log_path=report_dir) 23 24 #傳送郵件 25 SendMail().sendEmail(filename)26 27
3、BeautifulReport截圖需要在測試類中新增一個save_img的方法
1 def save_img(self, img_name): 2 self.driver.get_screenshot_as_file('{}/{}.png'.format(conf.img_dir, img_name))
然後呼叫時,只需要在測試方法上面加個裝飾器就行了:
1 """登入模組測試用例""" 2 @BeautifulReport.add_test_img('登陸成功') 3 def test_login1(self): 4 """使用者名稱正確,密碼正確,登入成功""" 5 self.login.loginFunc() 6 self.save_img('登陸成功') 7 time.sleep(3) 8 currUrl = self.driver.current_url # 獲取當前的url地址 9 10 try: 11 self.assertIn('index', currUrl, 'index not in current url!')#判斷index在當前url中 12 except Exception: 13 self.login.saveScreenShot('cor_un_pw_fail.png') 14 raise 15 else: 16 self.login.saveScreenShot('cor_un_pw_pass.png') 17 log.logger.info('%s->run completed! ' % (sys._getframe().f_code.co_name)) 18 self.login.quit()
4、測試報告樣式