• Python+selenium之测试报告(1)


    一、下载HTMLTestRunner.py

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

    二、生成报告

         下面还是以百度为例,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) 执行完毕后,进入报告存放的路径,打开后如图:

     注:在编写测试功能测试用例时,每条测试用例都有标题,对于自动化测试用例也需要加上标题,增加用例的可读性。

    在python中有两种注释,一种叫做comtent,另外一种叫做doc string。前者为普通注释,后者用于函数,类和方法的描述。

    在类或方法的下方,通过三引号("" "" "" 或''')来添加doc string类型的注释,这类注释在平时调用的时候不显示,可以通过help()方法来查看类或方法的这种注释。例如:

    def test_baidu_set(self):
                   """百度设置"""

        

     

  • 相关阅读:
    linux Chrome 安装
    jQuery.extend 函数详解
    Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法
    Django——model字段类型 2
    Django 中的用户认证
    Expression<Func<T, bool>>与Func<T, bool>的区别
    根据funID,personID获取最新规划包项目相关信息
    SET ANSI_NULLS ON 在T-SQL中是什么意思
    SQL Server 2008中如何为XML字段建立索引
    PowerDesigner 建模后如何导入到数据库
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/7411462.html
Copyright © 2020-2023  润新知