zoukankan      html  css  js  c++  java
  • Selenium2+python自动化32- 测试报告的易读性【转载】

    前言

         前一篇已经介绍了报告的生成方法,本篇小编优化一下测试报告,使测试报告便于大多数阅读。虽然在我们在测试用例开发时为每个用例添加了注释,但测试报告一般是给非测试人员阅读的,如果能在报告中为每一个测试用例添加说明,那么将会使报告更加易于阅读。

        下面还是以百度为例:

    一、打开我们的测试用例文件,为每一个测试用例(方法)下面添加注释,如下:

    #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()
    driver.close()
    if __name__ == "__main__":
    unittest.main()

    打开测试报告:



    小 u 是避免中文引起的乱码问题。

    这样添加中文备注是不是就可读性很强了?大家可以自由的折腾了。

    二、报告文件名取当前时间
    每次运行测试之前之前都要手动的去修改报告的名称,如果有修改就会把之前的报告覆盖,这样做就会显示得很麻烦,那么有没有办法使每次生成的报告名称都不一样,为了更好的取分报告可以在报告中添加当前的时间,这样我们要想查找某天某时所生成的报告就会变得非常容易。
    下面要修改一下执行测试用例的脚本,如下:
    #coding=utf-8
    import unittest
    import time
    #这里需要导入测试文件
    import baidu
    import HTMLTestRunner
    testunit=unittest.TestSuite()
    testunit.addTest(unittest.makeSuite(baidu.Baidu)) #将测试用例加入到测试容器(套件)中
    now=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time())) #获取当前时间
    filename= "D:\python\report\"+ now +"result.html" #定义个报告存放路径,支持相对路径。把当前时间加到报告中
    fp = open(filename,"wb")
    runner =HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'测试报告',description=u'用例执行情况:')
    runner.run(testunit)#执行测试用例

    time.time() 获取当前时间戳
    time.localtime() 当前时间的 struct_time 形式

    重新运行所有测试用例,查看生成的测试报告的文件名,如图:



    文件名以前面运行时间命名,所以很容易地找到想要的报告,而且在每次运行测试前不用修改手动修改报告的名字。
  • 相关阅读:
    docker logs-查看docker容器日志
    初探 Elasticsearch,学习笔记第一讲
    Centos7 环境下设置固定IP
    强制使用索引查询方法
    linux 常用命令
    MySQL 调优
    docker 常用命令
    mysql 创建临时表
    mysql or in union all 使用方法
    mysql 创建存储过程
  • 原文地址:https://www.cnblogs.com/caoj/p/7805449.html
Copyright © 2011-2022 走看看