3.1unittest简介
今天介绍一个测试框架:不管我们是做接口自动化还是UI自动化,我们都要用的一个框架---unittest
unittest是python里面的一个单元测试框架,我们做自动化测试的话,都是要用到这个测试框架的(当然,我们也可以用pytest)
下面介绍下unittest的一些简单特性吧,
1、unittest在我们创建测试类的时候需要继承与unittest.TestCase
2、所有的测试方法都要以test开头
3、断言直接用自带的assert方法
4、执行测试用例;
什么是单元测试框架
基于python的单元测试框架unittest、pytest基于java的单元测试框架Junit、TestNG开发开方法发后自测的一种框架3.2Unittest单元测试框架的构成
TestCase编写用例TestSuit组织用例TestRunner执行用例TestFixture处理用例,SetUp-预处理,用例开始,TearTown清理数据,用例结尾3.3Unittest的规则
脚本文件的创建,以“test”开头的.py文件测试用例方法,要以“test_开头用例执行顺序:按照ASCII顺序从小到大执行,a-z3.4Unittest框架组织执行用例
unittest.main()执行脚本中所有的testcaseunittest.testsuit只执行指定的casediscover执行所有脚本中的所有case3.5Unittest组织和执行的过程
编写调试线性脚本;创建test_case的脚本文件组织测试用——以方法的形式组织线性脚本用例;case名称以test开头;方法内需添加用例标题注释;抽离公共的代码部分,放在setup,teardown方法中处理;批量执行所有脚本用例使用discover执行所有脚本用例;生成HTML的测试报告查看测试报告;下面是一个测试类的demo
3.6Unittest自动化断言
1)断言方法
self.assertEqual(expected,actual)
判断expected=actual表示通过,反之表示失败;适用于判断字符串、数字、布尔类型,也可以判断列表、字典、元组self.assertIn(expected,actual)
判断expected包含于actual内,前者是后者的一部分或相等,表示通过,反之表示失败;适用于判断字符串、列表、元组self.assertTrue(expr)
self.assertIsNone(expr)
判断表达式的结果是否为真,为真表示通过,反之表示失败;适用于判断表达;2)断言条件
提示信息文本内容:driver.find_element().text页面跳转后的信息:地址、元素、title