当前位置: 首页 > article >正文

BeautifulReport测试报告框架

BeautifulReport测试报告框架

##执行文件excute_case.py
import unittest
import os, datetime
from BeautifulReport import BeautifulReport

root_dir = os.path.dirname(os.path.abspath(__file__)).replace('\\', '/')
print('root_dir路径',root_dir)
#test_dir = root_dir + '/testcases'

test_dir = root_dir + '/TestCases'
#report_dir = root_dir + '/test_report'
report_dir = root_dir + '/TestReport'

discover = unittest.defaultTestLoader.discover(test_dir, 'Test*.py', None)
now = datetime.datetime.now().strftime('%Y-%m-%d %H_%M_%S')
filename = '测试报告' + str(now)
BeautifulReport(discover).report(description='测试', filename=filename, log_path=report_dir)

##用例文件TestbfReport.py
import unittest, time,os
from selenium import webdriver
from selenium .webdriver.common.by import By
from BeautifulReport import BeautifulReport

class test_remote(unittest.TestCase):
    def save_img(self, test_method):#失败截图方法(必须要定义在class中)
        #root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))).replace('\\','/')
        root_dir = os.path.dirname(os.path.abspath(__file__)).replace('\\','/')
        img_path = root_dir + '/img'
        self.driver.get_screenshot_as_file\
            ('{}/{}.png'.format(img_path, test_method))

    def setUp(self):
        self.driver = webdriver.Chrome()
        time.sleep(5)

    @BeautifulReport.stop #不执行该用例
    def test_zhaolei(self):
        self.driver.get('https://www.baidu.com')
        
        self.driver.find_element(By.ID,'kw').send_keys('赵小虎')#元素定位新写法,通过By定位
        self.driver.find_element(By.ID,'su').click()
       
        time.sleep(5)

    @BeautifulReport.add_test_img('test_zhoujielun')#失败后会有报错截图
    def test_zhoujielun(self):
        self.driver.get('https://www.baidu.com')
        self.driver.find_element(By.ID,'su3').send_keys('周杰伦')#这里的id我故意写错来查看效果
        
        self.driver.find_element(By.ID,'su').click()
        time.sleep(5)

    def test_ig(self):
        self.driver.get('https://www.baidu.com')
        self.driver.find_element(By.ID,'kw').send_keys('IG')
        
        self.driver.find_element(By.ID,'su').click()
        time.sleep(5)
'''
    def tearDown(self):
        self.driver.close()
'''
'''
if __name__ == '__main__':
    unittest.main()
    '''


参考文档:https://blog.csdn.net/qq_37969201/article/details/86689940


http://www.kler.cn/a/132765.html

相关文章:

  • 【Mysql】Mysql函数(上)
  • nuget 管理全局包、缓存和临时文件夹
  • vue使用List.reduce实现统计
  • STM32单片机设计防儿童人员误锁/滞留车内警报系统
  • 基于python Django的boss直聘数据采集与分析预测系统,爬虫可以在线采集,实时动态显示爬取数据,预测基于技能匹配的预测模型
  • reactflow 中 selectionMode 组件作用
  • Vite - 配置 - 文件路径别名的配置
  • ubuntu20.04中编译zlib1.2.11(源码编译)
  • Linux网络之传输层协议tcp/udp
  • 基于数据库(MySQL)与缓存(Redis)实现分布式锁
  • 【Git学习二】时光回溯:git reset和git checkout命令详解
  • C#可空类型
  • 使用WildCard充值ChatGPT Plus 会员
  • 万宾科技智能井盖传感器,提升市政井盖健康
  • 技术实践|高斯集群服务器双缺省网关故障分析
  • QQ五毛项目记
  • jbase打印导出实现
  • 大模型的全面回顾,看透大模型 | A Comprehensive Overview of Large Language Models
  • python的文件目录操作 1
  • 计算机视觉基础(9)——相机标定与对极几何
  • Vue 路由props 多路由参数时使用
  • 电子商务、搜索引擎
  • Hafnium之内存共享
  • 流量1---------1
  • 新增文章分类
  • 「校园 Pie」 系列活动正式启航,首站走进南方科技大学!