'''
时间:2018/12/06
功能:html报告
目录:一: 工程结构二: 测试报告 - 一般 三: 测试报告 - HTMLTestRunner
'''

一: 工程结构

1 :  一级目录 : 工程名称 - web_auto_test

2 :  二级目录 : 测试用例 - case

3 :  二级目录 : 公共模块 - common

4 :  二级目录 : 测试报告 - report

5 :  二级文件 : 运行文件 - run_all.py

# coding:utf-8
import unittestclass IntegerArithmeticTestCase(unittest.TestCase):def testAdd(self):  # test method names begin with 'test'self.assertEqual((1 + 2), 3)self.assertEqual(0 + 1, 1)def testMultiply(self):self.assertEqual((0 * 10), 0)self.assertEqual((5 * 8), 40)if __name__ == '__main__':unittest.main()

1 :  test001_case_count.py

# coding:utf-8
from selenium import webdriver
import time
import unittestclass LoginTest(unittest.TestCase):'''登录类的案例'''@classmethoddef setUpClass(cls):cls.driver = webdriver.Firefox()@classmethoddef tearDownClass(cls):cls.driver.quit()   # 编辑器问题def setUp(self):self.driver.get("http://127.0.0.1/zentao/user-login-L3plbnRhby8=.html")def tearDown(self):self.is_alert_exist()self.driver.delete_all_cookies() # 退出登录
        self.driver.refresh()def get_login_username(self):try:t = self.driver.find_element_by_css_selector("#userMenu>a").textprint(t)return texcept:return ""def is_alert_exist(self):'''判断alert是不是在'''try:time.sleep(2)alert = self.driver.switch_to.alerttext = alert.textalert.accept() # 用alert 点alertreturn textexcept:return ""def test_01(self):'''登录成功的案例'''time.sleep(2)self.driver.find_element_by_id("account").send_keys("admin")self.driver.find_element_by_name("password").send_keys("123456")self.driver.find_element_by_id("submit").click()# 判断是否登陆成功time.sleep(3)t = self.get_login_username()print("获取的结果:%s"%t)self.assertTrue("admin" == t)def test_02(self):'''登录失败的案例'''time.sleep(2)# 错误账号和密码self.driver.find_element_by_id("account").send_keys("admin1112")self.driver.find_element_by_name("password").send_keys("")self.driver.find_element_by_id("submit").click()# 判断是否登陆成功time.sleep(3)t = self.get_login_username()print("登录失败,获取结果:%s"%t)# self.assertTrue("" == t)self.assertTrue(False == True)  # 断言失败截图if __name__ == "__main__":unittest.main()

1 :  test002_case_login_chandao.py

二: 测试报告 - 普通 

# coding:utf-8
import unittest
import os# 路径兼容 - windows/mac
cur_path = os.path.dirname(os.path.realpath(__file__))  # 获取路径 - 当前脚本
cur_path = os.path.join(cur_path, "case")           # 拼接路径# 显示结果 - unnitest
pattern = "test*.py"    # 匹配文件
discover = unittest.defaultTestLoader.discover(start_dir = cur_path, pattern = pattern)
print(discover)runner = unittest.TextTestRunner()
runner.run(discover)

D:\ProgramTools\Python\python.exe "D:/ProgramTools/PyCharm 5.0.4/PycharmProject/web_auto_test/run_all.py"
..<unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<test001_case_count.IntegerArithmeticTestCase testMethod=testAdd>, <test001_case_count.IntegerArithmeticTestCase testMethod=testMultiply>]>]>, <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<test002_case_login_chandao.LoginTest testMethod=test_01>, <test002_case_login_chandao.LoginTest testMethod=test_02>]>]>]>
admin
获取的结果:admin
.登录失败,获取结果:
F
======================================================================
FAIL: test_02 (test002_case_login_chandao.LoginTest)
登录失败的案例
----------------------------------------------------------------------
Traceback (most recent call last):File "D:\ProgramTools\PyCharm 5.0.4\PycharmProject\web_auto_test\case\test002_case_login_chandao.py", line 67, in test_02self.assertTrue(False == True)  # 断言失败截图
AssertionError: False is not true----------------------------------------------------------------------
Ran 4 tests in 24.103sFAILED (failures=1)Process finished with exit code 0

三: 测试报告 - HTMLTestRunner

# coding:utf-8
import unittest
import os
from common import HTMLTestRunner_cn# 路径兼容 - windows/mac
cur_path = os.path.dirname(os.path.realpath(__file__))  # 获取路径 - 当前脚本
cur_path = os.path.join(cur_path, "case")           # 拼接路径# 显示结果 - unnitest
pattern = "test*.py"    # 匹配文件
discover = unittest.defaultTestLoader.discover(start_dir = cur_path, pattern = pattern)
print(discover)# 路径兼容 - windows/mac
cur_path = os.path.dirname(os.path.realpath(__file__))  # 获取路径 - 当前脚本
report_path = os.path.join(cur_path, "report", "report.html")# 显示结果 - HTMLTestRunner
fp = open(report_path, "wb")
runner = HTMLTestRunner_cn.HTMLTestRunner(stream = fp,                      # 报告路径title = "接口测试用例报告",       # 报告标题description = "测试用例详情报告", # 报告描述retry = 1,                        # 错误重写执行verbosity = 2)                    # 注释显示
runner.run(discover)
fp.close()

1 :  run_all.py

1 :  全部运行通过的测试报告

1 :  运行失败的测试报告

转载于:https://www.cnblogs.com/huafan/p/10079543.html

008 selenium html报告相关推荐

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

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

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

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

  3. 2022年6月份报告合辑 附下载

    人不会苦一辈子,但总会苦一阵子.许多人为了逃避苦一阵子,却苦了一辈子.六月再见,七月你好!加油!希望一定是在明天,珍惜今天,忘记过去,展望未来. 四月报告 6.1:2022年5月份报告合辑 6.2:国 ...

  4. 低代码专题报告合辑(精选七篇) 附下载

    低代码是快速开发工具/技术的一种,属于编程工具/技术领域,主要应用于开发企业软件系统.借助低代码,使用者无需编码即可完成企业系统的常见功能,少量编码扩展更多功能. 相比于传统的软件开发工具和技术,低代 ...

  5. Web 3.0专题报告合辑(精选七篇) 附下载

    近年来,针对互联网行业发展面临的利益分配失衡.平台资源垄断.个人隐私泄漏等问题,全球兴起了新一轮互联网创新探索热潮,力图通过引入区块链.密码学等技术,来重构互联网发展未来图景,Web3.0理念应运而生 ...

  6. 2023年2月份报告合辑 附下载

    时光它总爱不言不语,不经意间又悄悄溜走.一年数它最短的二月,在春暖花开之际,就要和三月交班.二月再见,三月你好!早春从这里开始,未来在此刻启程.又在宛若初见的时光里,轻声念起:三月,你好!愿所有美好, ...

  7. Pytest结合allure插件生成alluer测试报告【详细实战篇】

    Pytest结合allure插件生成allure测试报告[详细实战篇] 一.Allure插件介绍 二.Allure环境搭建与安装 2.1 搭建步骤 2.2 生成allure测试报告实例 三.Allur ...

  8. 互联互通社区3月份大事记

    2021年3月1日互联互通社区推出管理智库:互联互通社区-管理智库,是互联互通社区团队管理板块的延申.包含企业管理.绩效管理.人才管理.名企案例.管理法则.管理故事等内容. 2021年3月5日互联互通 ...

  9. 中国DevOps应用发展研究 附下载

    DevOps概念解析:DevOps(开发运维一体化)不仅包含一系列软件工程相关的软件工具,还涉及到 企业文化.团队协作流程等多个方面.从工作流的角度,DevOps包含规划.开发.运维三个部分,可 以基 ...

最新文章

  1. App_GlobalResources、App_LocalResources (理论篇)(
  2. codeforces#597 C. Constanze's Machine(简单dp)
  3. java mail发送邮件(单发和群发)
  4. 75. Sort Colors - LeetCode
  5. 树链剖分 完美的想法
  6. new float查询长度 c++_C/C++经典面试题
  7. JS 网页自动加载js函数
  8. 51Testing第五期电子杂志下载
  9. php密码重复,AngularJs验证重复密码的方法(两种)
  10. 电商渠道转化越来越低,究竟怎样引流才能提高转化率?
  11. 大数据第三季--Hbase(day6)-徐培成-专题视频课程
  12. WiFi 5G频段差分巴伦电路对接收灵敏度的影响
  13. 腾讯云上攻防战事(一)| 云上听风,不战而屈人之兵
  14. 为什么要学习平面设计的几个理由
  15. 欧姆龙服务器数码管不显示问题,数显仪表常见故障的原理分析以及解决方案
  16. 删除Linux系统中的大文件
  17. 精准营销、批量提取QQ群成员号码
  18. ZZULIOJ 1149: 组合三位数之二
  19. 【正点原子MP157连载】第十六章 基本定时器实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
  20. d3成神之路(三):折线图

热门文章

  1. x86 CPU内存屏障保证有序性
  2. Linux vim打开文件的四种方式
  3. MongoRepository findById方法使用示例
  4. 按照 排序 oracle,oracle 按照中文排序
  5. 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查
  6. gerrit的使用和配置
  7. vi编辑器基本使用方法
  8. 机器人学一些概念1——自由度冗余,映射和操作算子
  9. 学习SPI的一些疑惑
  10. call 存储过程时必须声明表示符_图解面试题:SQL存储过程有什么用?