前言
前一篇已经介绍了报告的生成方法,本篇小编优化一下测试报告,使测试报告便于大多数阅读。虽然在我们在测试用例开发时为每个用例添加了注释,但测试报告一般是给非测试人员阅读的,如果能在报告中为每一个测试用例添加说明,那么将会使报告更加易于阅读。
下面还是以百度为例:
一、打开我们的测试用例文件,为每一个测试用例(方法)下面添加注释,如下:
#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchAttributeExceptionimport unittest,time,reimport HTMLTestRunnerclass 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-8import unittestimport time#这里需要导入测试文件import baiduimport HTMLTestRunnertestunit=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 形式 重新运行所有测试用例,查看生成的测试报告的文件名,如图:
文件名以前面运行时间命名,所以很容易地找到想要的报告,而且在每次运行测试前不用修改手动修改报告的名字。
时间: 2024-09-30 14:52:13