zoukankan      html  css  js  c++  java
  • python3自动化测试-使用BeautifulReport生成可视化测试报告

    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 import conf
    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、测试报告样式

  • 相关阅读:
    linux开关机命令
    实现vmare虚拟机系统随主机开机自动启动
    linux常用命令
    centos7.3上用源代码安装zabbix3.2.7
    centos7用yum搭建LAMP环境
    centos7永久更改主机名
    Python基础学习-列表的常用方法
    中兴交换机配置命令
    dml并行
    11.2.0.4 aix下运行第二个节点root.sh报错处理
  • 原文地址:https://www.cnblogs.com/yaner2018/p/13496591.html
Copyright © 2011-2022 走看看