zoukankan      html  css  js  c++  java
  • 【自动化测试不求人】selenium测试报告显示失败截图

            在自动化测试结束后,往往都需要查看执行结果,如何得到一份便于查看和管理的测试报告呢?这里,笔者推荐HTMLTestRunner应用程序,它是Python标准库unittest模块的一个扩展,可以生成HTML的测试报告,而且界面十分友好。

    准备工作:

    • 下载HTMLTestRunner.py文件,下载地址:

    http://tungwaiyip.info/software/HTMLTestRunner.html 

        需要注意的是,这里提供的HTMLTestRunner0.8.2的版本,它的语法是基于Python 2的,需python3报告请联系笔者

     

     

    • HTMLTestRunner.py文件复制到Python安装路径下的lib文件夹。
    • 利用在百度首页搜索关键字案例来展现HTMLTestRunner的用法。

    测试代码如下。

     

    #学习有疑问请联系作者
    #作者qq:2574674466
    #作者邮箱2574674466@qq.com
    # encoding = utf-8
    import unittest
    import HTMLTestRunner
    from selenium import webdriver
    import time
    import math
    
    # 声明一个测试类
    class SuiteTest1(unittest.TestCase):  # 声明一个测试类
        def setUp(self):
            # 启动chrome浏览器
            self.driver = webdriver.Chrome()
    
        def testBaidu(self):
            self.driver.get("https://www.baidu.com")
            self.driver.find_element_by_id("kw").clear()
            self.driver.find_element_by_id("kw").send_keys(u"python")
            self.driver.find_element_by_id("su").click()
            time.sleep(5)
            assert u"python" in self.driver.page_source, "页面中不存在要搜索的关键字!"
    
        def tearDown(self):
            self.driver.quit()
    
    
    if __name__ == '__main__':
        suite = unittest.TestSuite()
        suite.addTest(SuiteTest1("testBaidu"))
    #是为了设置生成的报表html文件地址。
        file_name = "D:\test1.html" 
        # fp = file(file_name,'wb')
        fp = open(file_name, 'wb')
    #此步是为了设置报表页面的title和报表总结描述内容。
    
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='Test_Report_Portal', description='Report_Description')    runner.run(suite)
        fp.close()
        print("测试完成!")

     

         最后在测试机器路径盘“D:\test1.html”,生成报表文件,python3报告含有失败自动化截图功能,需要请联系笔者:

    视频、学习笔记联系qq:2574674466
    更多内容请关注公众号:“大牛测试

     

    欢迎加入交流群:Selenium学习群: 628908894
  • 相关阅读:
    ValueError: source code string cannot contain null bytes
    django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 11001] No address found)")
    数据库索引
    Python深拷贝与浅拷贝
    ascii、unicode、utf-8、gbk
    map、reduce、filter 的用法
    TCP / UDP的区别
    男神鹏:SyntaxError: invalid character in identifier 报错!!
    男神鹏:机器学习之混淆矩阵的理解
    男神鹏:Visual Studio Code 解决红色波浪线操作
  • 原文地址:https://www.cnblogs.com/tim2016/p/15386320.html
Copyright © 2011-2022 走看看