内部UI自动化测试培训之unittest基础
这个文档的由来是公司内部UI自动化测试培训的资料。部门为了减少测试工作量,准备做UI自动化测试。我写python,其他同事都是java,所以python基础和UI自动化测试selenium的培训就由我来完成。本篇是单元测试工具uniitest的基础介绍。
UI 自动化测试相关内容:
1|0unittest 介绍
Unittest是Python内部自带的一个单元测试的模块,它设计的灵感来源于Junit,具有和Junit类似的结构,有过Junit经验的朋友可以很快上手。它可以做单元测试, 也能用于编写和运行重复的测试工作。
它给自动化测试用例开发和执行提供了丰富的断言方法, 判断测试用例是否通过, 并最终生成测试结果。
1|1TestCase 测试用例编写
unittest 基本知识包括如下:
- TestCase指的就是测试用例
- 测试类必须继承unittest.TestCase
- 测试方法名称命名必须以test开头
- 测试方法的执行顺序由Case序号决定, 并非由代码顺序决定
2|0unittest 特性
unittest 测试类中有一些特殊方法可以方便单元测试的环境准备和结束收尾,下面分别介绍。
2|1单个测试用例
一个测试用例就是类似中的一个方法,启动一个测试用例可能需要准备参数,准备环境。以下两个方法可以用于当前场景:
- setUp 初始化测试环境, 它在每条测试用例执行前都会调用
- tearDown 测试用例执行完毕后恢复测试环境, 即使出现异常也会调用此方法,每条用例执行结束后都会运行
setUp 和 tearDown 会在每一个测试用例执行时生效,setUp在用例执行前执行,tearDown在用户执行后执行。
2|2全局测试用例
在所有测试用例执行前可能也会需要一些初始化工作,如果能完成就可以避免在单个用例中重复工作。而 setUpClass 和 tearDownClass 可以完成相关工作。
- setUpClass 初始化测试环境且只会执行一次。在类中需要加上@classmethod
- tearDownClass 恢复测试环境且只会执行一次。在类中需要加上@classmethod
在所有测试用例之前会执行setUpClass,而且只会执行一次。所有测试用例执行完成之后执行tearDownClass,同样只会执行一次。
断言表达式
断言表达式用于检测一个变量是否符合预期,常见的断言表达式如下:
3|0断言表达式
示例如下:
4|0测试工程
单元测试是一个工程,由多个python文件组成的,工程的代码组织应该有一个清晰的规范。规范如下:
- 创建一个包保存所有的文件
- 一个主入口执行所有单元测试
结构如下:
test_1.py
test_2.py
test_main.py
运行结果:
5|0selenium + unittest 完整示例
__EOF__

本文链接:https://www.cnblogs.com/goldsunshine/p/18056473.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理