一、下载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):
"""百度设置"""