自动化测试最终要生成一个报告,主要了解测试用例是否通过,报错内容以及截图等,下面介绍生成htmltestrunner方法
1、首先下载这个文档
html测试报告链接:
http://tungwaiyip.info/software/HTMLTestRunner.html
这个是生成报告要引用的文件,由于这个文件是根据python2开发的,python2和3又有语法的不同,所以如果用python3的话要改几个地方,具体请百度
2、HTMLTestRunner方法有4个参数,包括
stream:测试报告文件
verbosity 用例输出级别 默认=1,2更详细
title 标题
description:描述、备注
单个类或者方法添加备注的方法: “”" 内容 “”"
3、值得注意的是 在用pycharm执行时可能会报错,这时候用cmd可以避免报错
示例代码:
# -*- coding: utf-8 -*-
from selenium import webdriver
import unittest,time
from HTMLTestRunner import HTMLTestRunner
class TestBaidu(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Firefox()
def test_baidu(self):
driver=self.driver
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys(u"圣博润")
driver.find_element_by_id("su").click()
def tearDown(self):
self.driver.quit()
if __name__=="__main__":
testunit=unittest.TestSuite()
testunit.addTest(TestBaidu("test_baidu"))
fp=open('./result.html','wb')
runner=HTMLTestRunner(stream=fp,
title='测试报告',
description="用例执行情况")
runner.run(testunit)
fp.close()
添加注释方法很简单就是在每个测试类或者方法名下面添加’’’ 或""",来写注释,比如
import unittest,time,sys,os
from selenium import webdriver
from page.baidu_page import BaiduPage
class TestBaidu(unittest.TestCase):
'''测试类下'''
def setUp(self):
self.driver=webdriver.Firefox()
def test_baidu_search_case(self):
'''测试方法下'''
page=BaiduPage(self.driver)
page.open()
page.search_input("selenium")
page.search_button()
time.sleep(3)
self.assertEqual(page.get_title(),u"selenium_百度搜索")
self.driver.close()
def teardown(self):
print(u'自动化执行结束')
if __name__=='__main__':
unittest.main(verbosity=2)
测试报告: