unittest
1.为什么要使用unittest
-
unittest是Python中自带的一个单元测试矿建
-
使用unittest帮助我们去管理自动化测试用例的
2.unittest基本概念
-
四个基本构件
-
测试夹具--test fixture
-
处理测试用例(类)运行前后数据方法处理
-
暂时理解成测试用例中的前置条件
-
-
测试套件--test suite
-
收集测试用例
-
-
测试用例--test case
-
测试执行--test runner
-
执行单个用例
-
执行批量用例
-
执行测试套件中的测试用例
-
-
-
-
创建测试类要求
-
创建的测试类以Test开头,并且继承unittest中TestCase
-
测试类中包含四个特殊方法
-
测试类中包含测试用例
-
测试用例以test开头
-
测试用例执行顺序按照ASCII字符集顺序
-
-
普通方法
-
-
四个特殊方法
-
setUp
-
tearDown
-
setUpClass
-
tearDownClass
-
-
跳过测试
-
当有些用例不需要执行的时候,将他跳过
-
skip
-
@unittest.skip(跳过原因)
-
-
-
断言
-
判断预期结果和实际结果是否相等
-
assertEqual(a,b,msg)
-
当a和b相等的时候,断言成功,反之断言失败
-
-
assertTrue(x,msg)
-
当x为True时候,断言成功,反之断言失败
-
-
-
测试套件和测试报告
-
discover = unittest.defaultTestLoader.discover(测试文件夹路径,需要执行的测试文件) # 测试套件
-
1.确认测试文件夹路径
-
test_dir = "script"
-
-
2.添加测试套件
-
discover = unittest.defaultTestLoader.discover(测试文件夹路径,需要执行的测试文件) # 测试套件
-
-
3.确定测试报告存放路径
-
report_dir = "report"
-
-
4.拼接测试报告名称(路径+文件名)
-
now = time.strftime("%Y-%m-%d %H%M%S")
-
report_filename = repor_dir + "/" + now+"report.html"
-
-
5.写测试报告
-
with open(report_filename,"wb") as fp: runner = HTMLTestRunnerPlugis.HTMLTestRunner( title=测试报告标题, description=测试报告描述, stream=fp ) # 执行测试用例 runner.run(discover)
-
作业
使用POM模式独立完成ECShop登录流程