使用unittest框架的自动化测试,报告一定很重要,目前介绍一个比较高大上的报告模板 BeautifulReport。如果首次使用的话需要安装 pip install beautifulreport

下面直接上代码,里面关键的地方通过注释体现

 # -*- coding:utf-8 -*-
'''
# @Time : 2019/12/3 16:50
# @Author : nihaoya
# @FileName: WeiBo_test.py
# @Software: PyCharm
'''
import os
import time
import unittest
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from BeautifulReport import BeautifulReport as bf server = 'http://localhost:4723/wd/hub'
desired_capabilities = {
'platformName': 'Android',
'deviceName': 'wohenhao',
'appPackage': 'com.sina.weibo',
'appActivity': 'com.sina.weibo.VisitorMainTabActivity',
'autoGrantPermissions': True # 添加这个是防止每次拉起应用时要重新授权
} driver = webdriver.Remote(server, desired_capabilities)
wait = WebDriverWait(driver, 30) class WeiBo(unittest.TestCase):
def setUp(self) -> None:
print(time.strftime("%Y-%m-%d %H:%M:%S"), "start to test") def tearDown(self) -> None:
print(time.strftime("%Y-%m-%d %H:%M:%S"), "end test") def test_a_switch_guest_mode(self):
print(time.strftime("%Y-%m-%d %H:%M:%S"), "switch to guest mode")
if wait.until(EC.element_to_be_clickable((By.ID, "com.sina.weibo:id/tv_title_lookaround"))):
driver.find_element_by_id("com.sina.weibo:id/tv_title_lookaround").click() def test_b_browsing(self):
print(time.strftime("%Y-%m-%d %H:%M:%S"), "begging to browse the content")
for i in range(5):
print((time.strftime("%Y-%m-%d %H:%M:%S") + " This is the {} time to refresh").format(i+1))
time.sleep(5)
driver.swipe(400, 100, 400, 350, 10) if __name__ == "__main__":
suite = unittest.TestLoader().loadTestsFromTestCase(WeiBo)
# unittest.TextTestRunner().run(suite)
# bf(suite).report("WebBo", "WeiBoTest")
run = bf(suite)
run.report(filename=u"./report/WeiBo报告_" + time.strftime("%Y-%m-%d_%H_%M_%S"), description=u"以游客形式浏览微博") # 这个filename关键字参数中,给的值一定不能出现冒号,否则最后生成报告时必定提示参数异常

注意:

1、如果是使用pycharm的话,一定不要在pycharm中执行脚本,它是不会生成报告的,原因是用pycharm自带的unittest执行的,并不会走脚本中的 main 方法,所以也就不会有报告。正确的姿势就是在命令行通过 python xxx.py 进行执行,这样就肯定会有报告生成

2、在最后报告生成时至于filename那块不能带有冒号,大家可以在windows端自行去新建一个文件,以冒号(英文)的形式去创建一个文件,它也会提示这9个特殊字符是不能被包含的,例如: \ / : * ? " < > |

下面show一下生成的报告文件及报告内容:

unittest框架之 BeautifulReport 模板报告生成的正确姿势的更多相关文章

  1. unittest框架,漂亮的报告BeautifulReport配置与错误截图详细解说

    1.下载BeautifulReport模块 下载地址:https://github.com/TesterlifeRaymond/BeautifulReport 2.解压与存放路径 下载Beautifu ...

  2. unittest框架下的HTMLTestRunner报告模块使用及优化

    引言 在做接口自动化测试的时候,使用python单元测试框架unittest下HTMLTestRunner报告模板,可以很好的展示我们测试结果的数据. 官方的标准版模板地址:http://tungwa ...

  3. 聊聊 Web 项目二维码生成的最佳姿势

    在设计和实现的过程之后,你永远不知道部署上去的程序会已什么样的姿势运行. 本篇借一次生成二维码逻辑的不同实现,阐述 Web 项目中二维码生成的正确姿势. 文中如有批量,欢迎各位看客老爷拍砖.试运行前5 ...

  4. 解惑unittest框架中导入HTMLTestRunner模块后正常运行却无法生成HTML报告问题

    1.HTMLTestRunner介绍 HTMLTestRunner是一个第三方的unittest HTML报告库,用于python单元测试框架的TestRunner.它是生成一个HTML报告,以一目了 ...

  5. unittest框架扩展(自动生成用例)自动化-上

    一.思想: 基于数据驱动和代码驱动结合的自动化测试框架. 二.自动化测试框架步骤: 1.获取用例,用例格式:.ymal 2.调用接口 3.校验结果 4.发送测试报告 5.异常处理 6.日志模块 三.基 ...

  6. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告

    1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 ...

  7. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(二)

    可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://ww ...

  8. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(已弃用)

    前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请 ...

  9. Python3 完美解决unittest框架下不生成测试报告

    前提: 1.运行测试用例一切正常,只是没有测试报告显示 2.使用命令行pyhon 脚本名字.py 却可以生成测试报告 3.pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的, ...

随机推荐

  1. HDU3896 Greatest TC(双联通分量+倍增)

    Problem Description TC (Tian Chao) is magical place, as you all know...The railways and the rail-sta ...

  2. HDU1079 Calender Game

    Adam and Eve enter this year’s ACM International Collegiate Programming Contest. Last night, they pl ...

  3. POJ 3281 Dining(网络流-拆点)

    Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will c ...

  4. PlantUML Viewer Chrome 插件 画时序图

    PlantUML通过简单直观的语言来定义示意图 使用 Chrome+ PlantUML Viewer的插件画图 1,打开chrome网上应用店 2,搜索plantuml viewer 并添加 3,扩展 ...

  5. ARTS-S 在docker中运行本地脚本

    很多情况是本地没有编译环境,但docker中有编译环境.想编译本地代码,就要把本地的代码和编译脚本映射到docker中,脚本如下: docker run \ -it \ -v /Users/usern ...

  6. WebAPI接口的自动化测试1

    自动化测试要满足四个条件: 1 - 自动化用例能够完成所有测试步骤   -------- postman不支持  没有完整的用例管理系统 2 - 每个用例的输入数据,必须要自动填入  -------- ...

  7. eps-07s,编译及其烧写

    项目导入 清理并编译 会出现两个bin文件,然后烧写 修改红框中的东西,然后返回操作界面,进行一键烧写 硬件接线图 设备调试

  8. Winform DataGridView控件数据导出EXcel

    /// <summary> /// 导出Excel /// </summary> /// <param name="dgv"></para ...

  9. mybatis初级映射

    一 前言 系统学习知识请认准知识追寻者(同公众号),错过作者,你有可能要走好多弯路 经过第一篇的入门文章,小白们都对mybatis的搭建流程应该都很熟悉,这篇文章主讲的是如何使用mybatis实现数据 ...

  10. 动态代理模式_应用(Redis工具类)

    本次使用动态代理的初衷是学习Redis,使用Java操作Redis时用到Jedis的JedisPool,而后对Jedis的方法进一步封装完善成为一个工具类.因为直接使用Jedis对象时,为了保证性能, ...