Python3+Selenium3自动化测试框架——④unittest框架

Python3+Selenium3自动化测试框架——③po模型设计_u011282197的博客-CSDN博客通过设计po模型,对页面定位和页面操作进行分离封装,实现多用例的测试。总体结构:case(用例)→business(业务层)→handle(操作层)→page(页面层)→base(公用)https://blog.csdn.net/u011282197/article/details/122852471

用unittest框架结合之前的PO模型

一、使用操作

①case的方法名最前面需要有“test”

②setUp方法和tearDown方法分别是case执行的前置条件和后置条件

③setUpClass方法和tearDownClass方法分别是所有case执行前后的前置条件和后置条件

# coding = utf-8
import unittest


class FirstCase01(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("所有case执行之前的前置")

    @classmethod
    def tearDownClass(cls):
        print("所有case执行之后的后置")

    def setUp(self):
        print("这个是case的前置条件")

    def tearDown(self):
        print("这个是case的后置条件")

    def testfirst01(self):
        print("这是第一个case")

    def fitst02(self):
        print("这是第二个case")


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

执行结果:

所有case执行之前的前置
这个是case的前置条件
这是第一个case
这个是case的后置条件
所有case执行之后的后置

④使用TestSuite,用容器管理case执行

if __name__ == '__main__':
    # unittest.main()
    suite=unittest.TestSuite()
    suite.addTest(FirstCase01('testfirst01'))
    unittest.TextTestRunner().run(suite)

 ⑤case运行的默认顺序是按照test后的名称(数字0-9>大小写>字母顺序a-z)

容器管理case会按照addTest的添加顺序运行

⑥使用@unittest.skip()跳过case,可以添加判断条件

⑦同时运行多个py文件的case

# coding=utf-8
import unittest
import os


class RunCase(unittest.TestCase):
    def test_case01(self):
        case_path = os.path.join(os.getcwd(), 'case')  # 当前项目路径下的case文件夹
        suite = unittest.defaultTestLoader.discover(case_path, 'unittest_*.py')  # 文件路径以及各个py文件的命名格式
        unittest.TextTestRunner().run(suite)


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

⑧使用assert判断用例是否成功

Python3+Selenium3自动化测试框架——④unittest框架_第1张图片

 ⑨使用HTMLTestRunner

下载地址:

你可能感兴趣的:(自动化,python,selenium)