https://www.cnblogs.com/yoyoketang/p/6140439.html

https://www.cnblogs.com/testyao/p/5658200.html

一、下载HTMLTestRunner.py

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告。HTMLTestRunner 是在 BSD 许可证下发布。
      下载 地址:http://tungwaiyip.info/software/HTMLTestRunner.html(或者在我们群里下载)
      Windows :将下载的文件放入...\Python27\Lib 目录下

二、生成报告

下面还是以百度为例,baidu.py代码如下:

#coding=utf-8
      from selenium import webdriver
      from selenium.webdriver.common.by import By
      from selenium.webdriver.common.keys import Keys
      from selenium.webdriver.support.ui import Select
      from selenium.common.exceptions import NoSuchAttributeException
      import unittest,time,re
      import HTMLTestRunner
      class Baidu(unittest.TestCase):
           def setUp(self):
                 self.driver = webdriver.Firefox()
                 self.driver.implicitly_wait(30)
                 self.base_url = "http://www.baidu.com/"
                 self.verificationErrors = []
                 self.accept_next_alert = True
          def test_baidu_search(self):
                u"""百度搜索"""
                driver = self.driver
               driver.get(self.base_url + '/')
               driver.find_element_by_id("kw").send_keys("selenium webdriver")
               driver.find_element_by_id("su").click()
               time.sleep(2)
               driver.close()
         def test_baidu_set(self):
               u"""百度设置"""
               driver = self.driver
             #进入搜索设置页
               driver.get(self.base_url + '/gaoji/preferences.html')
            #设置每页搜索结果为 20 条
               m=driver.find_element_by_name("NR")
               m.find_element_by_xpath("//option[@value='20']").click()
               time.sleep(2)
          #保存设置的信息
               driver.find_element_by_xpath("/html/body/form/div/input").click()
               time.sleep(2)
               driver.switch_to_alert().accept()
        def tearDown(self):
               self.driver.quit()
               self.assertEqual([],self.verificationErrors)
    if __name__ == "__main__":
      unittest.main()

下面我们在上面baidu.py的目录下新建一个.py,用来执行测试用例集和生成测试报告。

代码如下:

#coding=utf-8
   import unittest
  #这里需要导入测试文件
   import baidu
   import HTMLTestRunner
   testunit=unittest.TestSuite()
   #将测试用例加入到测试容器(套件)中
   testunit.addTest(unittest.makeSuite(baidu.Baidu))   #baidu.Baidu中的baidu为用例所在的.py文件的名称,Baidu为测试用例集的名称
   #定义个报告存放路径,支持相对路径。
   filename= "D:\\python\\report\\"+ u"测试报告正常" +"result.html"
   fp = open(filename,"wb")
   runner =HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'测试报告',description=u'用例执行情况:')
  #执行测试用例
   runner.run(testunit)

执行完毕后,进入报告存放的路径,打开后如图:

定义报告的路径还有一种方法也可以的,生成的html文件直接在该.py文件目录下,fp = file("my_report.html", "wb"),小伙伴们可以尝试下

需要 注意的是HTMLTestRunner是基于py2写的,如果是在py3环境 下,则需要用py3的。https://pan.baidu.com/s/1dEZQ0pz

selenium 自动化测试 测试报告 生成的更多相关文章

  1. 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)

    1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...

  2. Appium基于python unittest自动化测试并生成html测试报告

    本文基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(uni ...

  3. selenium基础(生成测试报告)

    测试报告 生成HTML测试报告 下载HTMLTestRunner.py包 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载后,把H ...

  4. Python+Selenium 自动化测试获取测试报告内容并发送邮件

    这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将测试结果通过邮件发送到接收人 # coding: utf-8 import smtplib from email.mime. ...

  5. Selenium自动化测试框架介绍

    Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...

  6. Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)

    Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...

  7. Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通

    Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...

  8. Selenium自动化测试Python五:WebDriver设计模式

    WebDriver 设计模式 欢迎阅读WebDriver进阶讲义.本篇讲义将会重点介绍Selenium WebDriver 自动化框架的设计,着重使用Page Object设计模式,以及使用HTML测 ...

  9. 《Selenium自动化测试实战》新书上市,有需要朋友们可以了解下,欢迎大家多提宝贵意见

    京东:https://item.jd.com/13123910.html当当:http://product.dangdang.com/29204520.html 1. 本书基于 Python 3.8 ...

随机推荐

  1. 再看数据库——(5)Group By与Order By

    在使用sql语句时,很多人都会分不清order by与group by,其实简单的说: order by -- 排序 group by --分组 1.order by是行的排序,默认为升序. 有两种方 ...

  2. Java性能监控之Instrumentation

    注:网上摘取的资料整理出来,供大家学习理解,希望有所帮助. 1.1.      Instrumentation 简介 利用 Java 代码,即 java.lang.instrument 做动态 Ins ...

  3. c# json 反序列化 泛型List 2行代码

    List<EncyTable> list = new List<EncyTable>(); var jsonReqeust = "[{ENCY_ID:775,ENCY ...

  4. NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet

    springMVC 内嵌jetty时,出现了NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet: 添加了 ...

  5. HDU 4585 Shaolin(Treap找前驱和后继)

    Shaolin Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Su ...

  6. 【CF #313】

    B题为啥交换一下搜索顺序就会TLE啊QAQ C题原来要预处理乘法逆元才能过啊QAQ 我沙茶啊我QAQ[还是太弱 嗯A题就是道水题 B题就是字符串Hash+暴力搜 C题就是组合数+容斥原理

  7. [poj] 1149 PIGS || 最大流经典题目

    原题 题目大意 给你m个猪圈以及每个猪圈里原来有多少头猪,先后给你n个人,每个人能打开一些猪圈并且他们最多想买Ki头猪,在每一个人买完后能将打开的猪圈中的猪顺意分配在这次打开猪圈里,在下一个人来之前 ...

  8. MAC使用IDA PRO远程调试LINUX程序

    1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪 ...

  9. 汕头市队赛 SRM 07 A 你的麻将会排序吗

    A 你的麻将会排序吗 SRM 07 曾经有过一些沉迷日麻的小孩纸,后来呀,他们都去寻找自己的世界了. kpm也是这样的小孩纸.他想有一只自动整理牌的机器.当麻将以给定的顺序进入机器时,通过机器的运转, ...

  10. quartz 调度

    1.POI文件中导入包      <dependency> <groupId>org.quartz-scheduler</groupId> <artifact ...