selenium学习--unittest框架

基础框架

# UnitTest
# 测试用例类继承自unittest.TestCase
# 从TestCase类继承是告诉unittest模块这是一个测试用例的方法:
class TtUnit(unittest.TestCase):
    # 前置操作
    def setUp(self) -> None:
        self.driver = TestKeys('Chrome', 'https://www.baidu.com')

    # 后置操作
    def tearDown(self) -> None:
        time.sleep(10)
        self.driver.quit()

    # 任务(必须以test开头,_n_可以设置任务执行的先后顺序)
    def test_1_python(self, locator_type='id', locator='kw', locator_type1='id', locator_btn='su', text='Java'):
        self.driver.input_text(locator_type, locator, text, is_search=Keys.ENTER)
        self.driver.click_element(locator_type1, locator_btn)
        

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

unittest包括四个部分

测试用例 TestCase
测试套件 TestSuite
测试部件 TestFixture
测试执行 TestRunner
from demo19 import TestTask
import unittest
import HTMLTestRunner

# 建立测试套件 TestSuite
# 通过unittest.TestSuite()初始化一个
# suite = unittest.TestSuite()TestSuite对象
# 使用TestSuite.addTest()添加自动化任务

# suite.addTest(TestTask('test_python_web'))
# suite.addTest(TestTask('test_js_web'))

# 批量执行自动化操作
dirname = './case/'
suite = unittest.defaultTestLoader.discover(start_dir=dirname, pattern='unit*.py')


if __name__ == '__main__':
	# 初始化一个测试执行 TestRunner任务对象
	# TestRunner.run(TestSuite)执行测试套件中的测试用例
	
    # runner = unittest.TextTestRunner()
    runner = HTMLTestRunner.HTMLTestRunner(open('./result.html', 'wb'), title='TEST_HTML测试报告'
                                           , description='这是一份测试报告,共两条测试用例')
    runner.run(suite)

批处理自动化用例

unittest.defaultTestLoader.discover(start_dir, pattern,top_level_dir)

start_dir 测试用例所在文件目录
pattertn 测试用例文件名
top_level_dir 测试文件等级

打印测试报告

需要使用到HTMLTestRunner文件

HTMLTestRunner.HTMLTestRunner(open(’./result.html’, ‘wb’), title=‘TEST_HTML测试报告’, description=‘这是一份测试报告,共两条测试用例’)

open 设置测试报告路径
title 测试报告标题
description 测试报告描述

猜你喜欢

转载自blog.csdn.net/hide_in_darkness/article/details/108414650
今日推荐