IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 框架整合—测试报告生成(web自动化selenium(python语言版)) -> 正文阅读

[开发测试]框架整合—测试报告生成(web自动化selenium(python语言版))

1.按天自动生成html/log/png文件目录

在这里插入图片描述
init_folder.py实现代码如下:

#按天为单位初始化生成html png log 文件目录
import os,datetime

def init_folder(date):
    html_folder_path ='./../report/html/'
    folder_path = html_folder_path+date
    if not os.path.exists(folder_path):
        os.makedirs(folder_path)

    png_folder_path ='./../report/png/'
    folder_path = png_folder_path+date
    if not os.path.exists(folder_path):
        os.makedirs(folder_path)

    log_folder_path = './../report/log/'
    folder_path = log_folder_path + date
    if not os.path.exists(folder_path):
        os.makedirs(folder_path)

2.用HTMLTestRunner生成html报告

运行模块,先初始化init_folder,生成文件目录,再生成html报告到html报告目录下

import unittest,HTMLTestRunner,datetime
from utils.init_folder import init_folder

suit = unittest.defaultTestLoader.discover('./../case_manager/',pattern='test_baidu_sou.py')

if __name__=='__main__':
    #runner = unittest.TextTestRunner()
    date_time = datetime.datetime.now()
    date=date_time.strftime('%Y-%m-%d')
    report_time=date_time.strftime('%H-%M-%S')
    init_folder(date)
    runner=HTMLTestRunner.HTMLTestRunner(open('./../report/html/'+date+'/'+report_time+'report.html','wb'),
                                         title='test_html',description='text')
    runner.run(suit)

3.自动生成日志Log

封装log日志生成类,代码如下:

import logging,datetime


class Log():
    def __init__(self):
        date_time = datetime.datetime.now()
        date = date_time.strftime('%Y-%m-%d')
        logging.basicConfig(
            level = logging.INFO,
            format = '%(asctime)s %(levelname)s %(message)s',
            datefmt = '%Y-%m-%d %H %M %S',
            filename='./../report/log/'+date+'/test.log',
            filemode = 'w'
        )

    def add_log(self,page,func,des):
        out_str = page +':'+func+':'+des
        logging.info(out_str)

在具体用例执行每次断言后加入日志,简单百度搜索的例子如下:

import unittest,time,ddt
from selenium import webdriver
from utils.excel_read import ParseExcel
from utils.log import Log

excel_path = "./../data_manager/test_data.xlsx"
sheetName = 'data_sou'
excel=ParseExcel(excel_path,sheetName)

@ddt.ddt
class Test_badu_News(unittest.TestCase):
    #百度搜索用例
    @classmethod
    def setUpClass(self):
        self.driver = webdriver.Chrome()
        self.log = Log()
    @classmethod
    def tearDown(self):
        self.driver.quit()
    def setUp(self):
        self.driver.get('https://www.baidu.com/')
        time.sleep(2)
    def tearDown(self):
        pass

    @ddt.data( * excel.getDataFromSheet_mul())
    def test_sou(self,data):
        #'''搜索方式'''
        try:
            self.driver.find_element_by_id('kw').send_keys(data[0])
            time.sleep(2)
            self.driver.find_element_by_id('su').click()
            time.sleep(5)
            self.assertEqual(data[0] + '_百度搜索', self.driver.title)
        except AssertionError as e:
            self.log.add_log(data[0],data[1],format(e))
            self.assertEqual(data[0] + '_百度搜索', self.driver.title)
        else:
            self.log.add_log(data[0],data[1],'用例执行成功')

if __name__ == 'main':
    unittest.main()

4.截图并保存到指定路径

使用以下函数:

   self.driver.get_screenshot_as_file('路径')  #截图

保存到先前自动生成的png文件夹里:

   #截图保存到指定目录
        date_time = datetime.datetime.now()
        date = date_time.strftime('%Y-%m-%d')
        st= date_time.strftime('%Y_%m_%d_%H_%M_%S')
        file_name = st + '.png'     #自定义图片名
        path = './../../report/png/'+date+'/' #指定保存截图路径
        whole_path=path+file_name
        self.driver.get_screenshot_as_file(whole_path)  #截图

5.生成的报告结果

html报告如下:
在这里插入图片描述
在这里插入图片描述
log日志如下:
在这里插入图片描述
png截图文件:
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:20:58  更:2021-09-05 11:21:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:22:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码