HTMLTestRunner生成HTML测试报告以及测试套件使用

一:定义一个加减乘除的计算(mathtest.py)

def add(a,b):
    return a+b
def minus(a,b):
    return a-b
def multi(a,b):
    return a*b
def divide(a,b):
    return a/b

二:对mathtest模块进行单元测试(unittest2.py)

import unittest
from mathtest import *
class TestMathCalculate(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("执行测试用例")
    def test_add(self):
        print("add")
        self.assertEqual(2,add(1,2),msg="测试失败")
    def test_minus(self):
        print("minus")
        self.assertEqual(4,minus(5,1))
    def test_multi(self):
        print("multi")
        self.assertTrue(multi(1,3)==3,"计算出错")
    @classmethod
    def tearDown(cls):
        print("结束测试")
if __name__=='__main__':
        unittest.main(verbosity=2)

三:简单webdriver爬虫搜索测试(unittest1.py)

import unittest
from selenium import webdriver
class SearchTest(unittest.TestCase):
    def setUp(self):
       self. driver=webdriver.Chrome()
       self.driver.implicitly_wait(30)
       self.driver.maximize_window()
       self.driver.get("https://www.jianshu.com/search?q=python&page=1&type=note")
       
 def test_search_by_category(self):
    self.search_field=self.driver.find_element_by_class_name("search-input")
        self.search_field.clear()
        self.search_field.send_keys("monkey")
        self.search_field.submit()
    def tearDown(self):
        self.driver.quit()

if __name__=='__main__':
        unittest.main(verbosity=2)

四:用测试套件以及HTMLTestRunner生成测试报告

#coding=utf-8
import unittest
import HTMLTestRunner
import os
from unittest1 import SearchTest
from unittest2 import TestMathCalculate
#获得输出测试报告的路径
dir=os.getcwd()
##testloader得到测试文件中所有测试方法
search_tests=unittest.TestLoader().loadTestsFromTestCase(SearchTest)
calculate_tests=unittest.TestLoader().loadTestsFromTestCase(TestMathCalculate)
#创建测试套件集合二个测试
total_tests=unittest.TestSuite([search_tests,calculate_tests])
#打开报告文档
outfile=open(dir+"\reporttest.html", "w")
#配置htmltestrunner相关参数配置
runner=HTMLTestRunner.HTMLTestRunner(
    stream=outfile,
    title='Test Report',
    description='Total Tests')
#执行测试套件
runner.run(total_tests)

测试执行结果:
HTMLTestRunner生成HTML测试报告以及测试套件使用_第1张图片

你可能感兴趣的:(#,自动化测试之selenium)