zoukankan      html  css  js  c++  java
  • Python+selenium之测试报告(2)

     1 # -*- coding: utf-8 -*-
     2 import HTMLTestReport
     3 import HTMLTestRunner
     4 import os
     5 import sys
     6 import time
     7 import unittest
     8 from selenium import webdriver
     9 
    10 
    11 class Baidu(unittest.TestCase):
    12     def setUp(self):
    13         self.driver = webdriver.Firefox()
    14         self.driver.implicitly_wait(30)
    15         self.driver.maximize_window()
    16         # self.base_url = "https://www.baidu.com"
    17         # self.driver.get(self.base_url)
    18         self.driver.get("https://www.baidu.com")
    19 
    20     def test_case1(self):
    21         """设计测试失败case"""  # *****效果是在测试报告中显示显示出测试名称*****
    22         print("========【case_0001】打开百度搜索 =============")
    23         # current_time = time.strftime("%Y-%M-%D-%H-%M-%S", time.localtime(time.time()))
    24         # "."表示创建的路径为当.py文件所处的地址,\是用将“”转义
    25         # pic_path = '.\result\image\' + current_time + '.png'
    26         current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
    27         pic_path = '.\result\image\' + '2017-07-17\' + current_time + '.png'
    28         print(pic_path)  # 打印图片的地址
    29         time.sleep(2)
    30         self.driver.save_screenshot(pic_path)  # 截图,获取测试结果
    31         self.assertEqual('百度一下,你就知道', self.driver.title)  # 断言判断测试是否成功,判断标题是否为百度(设计失败的case)
    32 
    33     def test_case2(self):
    34         """设计测试过程中报错的case"""
    35         print("========【case_0002】搜索selenium =============")
    36         self.driver.find_element_by_id("kw").clear()
    37         self.driver.find_element_by_id("kw").send_keys(u"selenium")
    38         self.driver.find_element_by_id('su').click()
    39         time.sleep(2)
    40         # current_time = time.strftime("%Y-%M-%D-%H-%M-%S", time.localtime(time.time()))
    41         current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
    42         # "."表示创建的路径为当.py文件所处的地址,\是用将“”转义
    43         pic_path = '.\result\image\'+'2017-07-17\' + current_time + '.png'
    44         print(pic_path)  # 打印图片的地址
    45         time.sleep(2)
    46         self.driver.save_screenshot(pic_path)  # 截图,获取测试结果
    47         self.assertIn('selenium', self.driver.title)  # 断言书写错误,导致case出错
    48 
    49     def test_case3(self):
    50         """设计测试成功的case"""
    51         print("========【case_0003】 搜索梦雨情殇博客=============")
    52         self.driver.find_element_by_id("kw").clear()
    53         self.driver.find_element_by_id("kw").send_keys(u"梦雨情殇")
    54         self.driver.find_element_by_id('su').click()
    55         # current_time = time.strftime("%Y-%M-%D-%H-%M-%S", time.localtime(time.time()))
    56         current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
    57         # "."表示创建的路径为当.py文件所处的地址,\是用将“”转义
    58         pic_path = '.\result\image\2017-07-17\' + current_time + '.png'
    59         print(pic_path)  # 打印图片的地址
    60         time.sleep(2)
    61         self.driver.save_screenshot(pic_path)  # 截图,获取测试结果
    62 
    63         self.assertIn('梦雨情殇', self.driver.title)
    64 
    65     def tearDown(self):
    66         self.driver.quit()
    67 
    68 
    69 if __name__ == "__main__":
    70     '''生成测试报告'''
    71     current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
    72     testunit = unittest.TestSuite() # 定义一个单元测试容器
    73     testunit.addTest(Baidu("test_case1")) #将测试用例加入到测试容器内
    74     testunit.addTest(Baidu("test_case2"))
    75     testunit.addTest(Baidu("test_case3"))
    76     report_path = ".\result\SoftTestReport_" + current_time + '.html'  # 生成测试报告的路径
    77     fp = open(report_path, "wb")
    78     runner = HTMLTestReport.HTMLTestRunner(stream=fp, title=u"自动化测试报告", description='自动化测试演示报告', tester='fyr')
    79     # runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"自动化测试报告", description='自动化测试演示报告')
    80     runner.run(testunit)
    81     fp.close()

    注意事项:

      1.获取当前时间的格式为:

    %Y-%m-%d-%H_%M_%S 而不是 %Y-%M-%D-%H-%M-%S
    2.填写的截图存放地址“”,要用转义字符“”进行转义,变为“\”
    3.
    runner = HTMLTestReport.HTMLTestRunner(stream=fp, title=u"自动化测试报告", description='自动化测试演示报告', tester='fyr')的测试报告如图所示:

      4.runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"自动化测试报告", description='自动化测试演示报告') 的效果图如图所示:

    
    
    
    
  • 相关阅读:
    解析大型.NET ERP系统 权限模块设计与实现
    Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架
    解析大型.NET ERP系统 单据编码功能实现
    解析大型.NET ERP系统 单据标准(新增,修改,删除,复制,打印)功能程序设计
    Windows 10 部署Enterprise Solution 5.5
    解析大型.NET ERP系统 设计异常处理模块
    解析大型.NET ERP系统 业务逻辑设计与实现
    解析大型.NET ERP系统 多国语言实现
    Enterprise Solution 管理软件开发框架流程实战
    解析大型.NET ERP系统 数据审计功能
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/7428179.html
Copyright © 2011-2022 走看看