| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> python-unittest测试框架 -> 正文阅读 |
|
[开发测试]python-unittest测试框架 |
作者:commentBox |
一、核心要素 ? ? ? ? (1)TestCase 测试用例 ? ????????????????一个.py脚本就是一个测试用例 ?测试用例类必须继承于unittest.TestCase ?类中的方法名必须以test开头,否则不会被执行 ?类的外部写main方法(自测代码) ? ? ? ? (2)TestSuite 测试套件 ? ????????????????测试套件就是测试用例的集合 ?把多个测试用例集合到一起就构成了测试套件 ?测试套件不能直接执行 ? ? ? ? (3)TextTestRunner 测试执行 ? ????????????????用来执行测试套件 ? ? ? ? (4)Fixture 概述,包含两个方法setUp()、tearDown() ? ????????????????在继承unittest.TestCase的前提下,Fixture = setUp()+tearDown() ? ????????????????setUp()负责测试环境的搭建(初始化):实例化浏览器、最大化、隐式等待、打开url ????????????????tearDown()负责测试环境的销毁:退出登录、退出浏览器等 ? ????????????????每一个以test开头的方法被执行之前都会先执行setUp()方法,然后执行test_XXX()方法,最后执行tearDown()方法 二、自动化测试脚本 ? ? ? ? (1)导入测试框架 import unittest ? ? ? ? (2)格式: ???????????????? class 类名(unittest.TestCase): ????????????????????????def setUp(): ????????????????????????def tearDown(): ? ? ? ? ? ? ? ? ? ? ? ? def test_xxx(): ????????(3)注意: ?????????????????①测试用例中方法名必须以test开头,否则不会被执行。 ? ? ? ? ? ? ? ? ?②记得要在类的外部写main方法, ? ? ? ? ?? ? ? ? ③光标放在代码后面的空白行或者mian()方法的位置执行 ? ? ? ? ? ? ? ? ?④如果把光标放在某一个方法名后面执行,只能执行当前一个方法 ? ? ? ? ? ? ? ? ? ?⑤多个方法,按照方法名ASCII的顺序执行 ? ? ? ? (4)self.driver 扩大driver的作用域,让它在其他方法中可以调用? ? ? ? ?三、自动化脚本批量执行 ? ? ? ? (1)单个用例是无法批量执行的,只有把多条测试用例组合成测试套件,才可以批量执行 ? ? ? ? (2)生成测试套件 ? ? ? ? ? ? ? ? ? ①实例化TestSuite一个空的测试套件,给套件添加测试用例(方法) ? ????????????????????????suite = unittest.TestSuite() ? ? ? ? ? ? ? ? ? ②addTest(类名(方法名)):添加指定类中的指定方法 ? ? ? ? ? ? ? ? ? ③addTest(unittest.makeSuite(类名)):添加指定类中所有以test开头的方法???????????????? ? ? ? ? ?(3)执行测试套件:实例化TextTestRunner,然后调用run()执行测试套件? ? ? ? ? ? ?? ? ? ? ? ?(4)执行结果???????????????????????? ?四、defaultTestLoader ????????实际项目中,主要通过discover生成测试套件,可以把defaultTestLoader看做是TestSuite的一种特殊实现方式 。defaultTestLoader中有一个方法discover(),可以在指定目录中搜索指定开头的.py文件,把测试类中所有以test开头的方法添加到测试套件中。格式:discover(指定目录, 指定.py文件开头) 一般,会把套件.py文件和用例放在同一个目录,否则可能导致截图失败,且和测试用例.py文件开头不能相同?? ? ? ? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:37:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |