Unittest框架
Unittest框架:框架=测试模块+测试管理模块+测试统计模块,python的内置模块
import unittest
Unittest框架四大组件:
1、TestCase 测试用例
2.TestFixture 测试用例夹具 测试用例需要执行的前置和后置
3.TestSuite 测试套件 把需要执行的测试用例汇总在一起
4、TestRunner 测试运行 执行测试用例
Test Case 测试用例
规则:
1、用例类必须继承Unittest.TestCase,并且以test开头
2、测试方法,都必须以test_开头
3、用例执行的顺序按照ASCII
0.9 a-z A-Z 顺序来执行用例
unittest也可以通过会令运行
命令执行TestShopnc类下的所有用例:python -m unittest 用例文件名.用例类名
执行某一条用例:python -m unittest 用例文件名.用例类.用例名称
import time
import unittest
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
class TestShopnc(unittest.TestCase):
#每个用例前执行 有多少用例就执行多少次
def setUp(self) -> None:
print("01 每个用例前执行 有多少用例就执行多少次")
#每个类之前执行 只执行一次
@classmethod
def setUpClass(cls) :
print("02 每个类之前执行 只执行一次")
#每个用例执行之后执行 有多少用例就执行多少次
def tearDown(self) -> None:
print("03 每个用例执行之后执行 有多少用例就执行多少次")
@classmethod
#每个类之后执行 只执行一次
def tearDownClass(cls) -> None:
print("04 每个类之后执行 只执行一次")
def test_01_login(self):
print("用例1")
def test_02_shopping(self):
print("用例2")
def test_03_add_cart(self):
print("用例3")
def test_04_payment(self):
print("用例4")
if __name__ == '__main__':
i=10
print(i)
suite=unittest.TestSuite()
#添加一个测试用例
suite.addTest(TestShopnc(methodName='test_01_login'))
#添加多个
suite.addTests([TestShopnc("test_02_shopping"),TestShopnc("test_04_payment")])
unittest.main(defaultTest="suite")
#用例加载器
suite2 = unittest.TestSuite(